From afbb1e6ef4d19afa2d8e7287798e0d3852117199 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Tue, 1 Apr 2025 20:40:09 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=B6=85=E7=AE=A1=E8=B4=A6=E5=8F=B7?= =?UTF-8?q?=E8=B7=B3=E8=BF=87=E5=BC=BA=E5=88=B6=E6=94=B9=E5=AF=86=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/auth/controller/account.go | 40 ++++++++++++++------------ 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/src/modules/auth/controller/account.go b/src/modules/auth/controller/account.go index b8e1989d..edb81d1a 100644 --- a/src/modules/auth/controller/account.go +++ b/src/modules/auth/controller/account.go @@ -75,11 +75,18 @@ func (s AccountController) Login(c *gin.Context) { return } - // 强制改密码 - forcePasswdChange, err := s.accountService.PasswordExpireTime(loginUser.User.LoginCount, loginUser.User.PasswordUpdateTime) - if err != nil { - c.JSON(200, resp.ErrMsg(i18n.TKey(language, err.Error()))) - return + data := map[string]any{} + + if !config.IsSystemUser(loginUser.UserId) { + // 强制改密码 + forcePasswdChange, err := s.accountService.PasswordExpireTime(loginUser.User.LoginCount, loginUser.User.PasswordUpdateTime) + if err != nil { + c.JSON(200, resp.ErrMsg(i18n.TKey(language, err.Error()))) + return + } + if forcePasswdChange { + data["forcePasswdChange"] = true + } } // 生成令牌,创建系统访问记录 @@ -96,15 +103,10 @@ func (s AccountController) Login(c *gin.Context) { ) } - data := map[string]any{ - "accessToken": tokenStr, - "tokenType": strings.TrimRight(constants.HEADER_PREFIX, " "), - "expiresIn": (loginUser.ExpireTime - loginUser.LoginTime) / 1000, - "userId": loginUser.UserId, - } - if forcePasswdChange { - data["forcePasswdChange"] = true - } + data["accessToken"] = tokenStr + data["tokenType"] = strings.TrimRight(constants.HEADER_PREFIX, " ") + data["expiresIn"] = (loginUser.ExpireTime - loginUser.LoginTime) / 1000 + data["userId"] = loginUser.UserId c.JSON(200, resp.OkData(data)) } @@ -145,10 +147,12 @@ func (s AccountController) Me(c *gin.Context) { "permissions": perms, } - // 强制改密码 - forcePasswdChange, _ := s.accountService.PasswordExpireTime(info.User.LoginCount, info.User.PasswordUpdateTime) - if forcePasswdChange { - data["forcePasswdChange"] = true + if !isSystemUser { + // 强制改密码 + forcePasswdChange, _ := s.accountService.PasswordExpireTime(info.User.LoginCount, info.User.PasswordUpdateTime) + if forcePasswdChange { + data["forcePasswdChange"] = true + } } c.JSON(200, resp.OkData(data)) }