feat: 管理后台认证加固——改密即失效旧令牌/账号锁定/登录审计/release随机初始密码

This commit is contained in:
Logan.Li committed 2026-09-14 21:08:39 +08:00
1 parent b76111dfc3
commit 2f0cb71fc2
7 files changed
+127 -11

No files matched your search

@@ -3,6 +3,7 @@ package auth
import (
"backend/config"
authservice "backend/internal/service/auth"
"backend/utils"
"net/http"
"github.com/gin-gonic/gin"
@@ -12,16 +13,18 @@ import (
// AuthController 认证控制器 // Logan.Li
type AuthController struct {
authService *authservice.AuthService
db *gorm.DB
}
// NewAuthController 创建控制器实例 // Logan.Li
func NewAuthController(db *gorm.DB, cfg *config.Config) *AuthController {
return &AuthController{
authService: authservice.NewAuthService(db, cfg),
db: db,
}
}
// Login 管理员登录 // Logan.Li
// Login 管理员登录(成功/失败均记审计) // Logan.Li
func (ctrl *AuthController) Login(c *gin.Context) {
var req struct {
Username string `json:"username" binding:"required"`
@@ -34,10 +37,12 @@ func (ctrl *AuthController) Login(c *gin.Context) {
result, err := ctrl.authService.Login(req)
if err != nil {
utils.LogAuthAction(ctrl.db, c, "login", req.Username, err.Error(), "failure")
c.JSON(http.StatusOK, gin.H{"code": 1, "message": err.Error()})
return
}
utils.LogAuthAction(ctrl.db, c, "login", req.Username, "登录成功", "success")
c.JSON(http.StatusOK, gin.H{"code": 0, "message": "登录成功", "data": result})
}