|
@@ -250,6 +250,7 @@ func (this *UserLoginController) Login() {
|
|
|
}()
|
|
|
|
|
|
|
|
|
+ headerTime := this.Ctx.Input.Header("ReqTime")
|
|
|
type UserLoginReq struct {
|
|
|
LoginType int `description:"登录方式: 1-账号; 2-手机号; 3-邮箱"`
|
|
|
Username string `description:"账号"`
|
|
@@ -308,38 +309,55 @@ func (this *UserLoginController) Login() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+
|
|
|
errPassKey := fmt.Sprint(utils.CACHE_LOGIN_ERR_PASS, req.Username)
|
|
|
- accountUser, e := system.CheckSysUser(req.Username, req.Password)
|
|
|
+ accountUser, e := system.GetSysUserByAdminName(req.Username)
|
|
|
if e != nil {
|
|
|
br.Ret = models.BaseRespCodeLoginErr
|
|
|
- if e.Error() == utils.ErrNoRow() {
|
|
|
- br.Msg = "登录失败, 账号或密码错误"
|
|
|
- if isAbnormal != "" {
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- if !utils.Rc.IsExist(errPassKey) {
|
|
|
- _ = utils.Rc.Put(errPassKey, 1, utils.GetTodayLastSecond())
|
|
|
- return
|
|
|
- }
|
|
|
- errNum, _ := utils.Rc.RedisInt(errPassKey)
|
|
|
- errNum += 1
|
|
|
- if errNum >= 6 {
|
|
|
- br.Ret = models.BaseRespCodeAbnormalLogin
|
|
|
- br.Msg = "账号异常, 请进行手机号/邮箱校验"
|
|
|
-
|
|
|
- _ = utils.Rc.Put(abnormalKey, "true", utils.GetTodayLastSecond())
|
|
|
- _ = utils.Rc.Delete(errPassKey)
|
|
|
- return
|
|
|
- }
|
|
|
+ br.Msg = "登录失败, 账号或密码错误"
|
|
|
+
|
|
|
+ if !utils.Rc.IsExist(errPassKey) {
|
|
|
+ _ = utils.Rc.Put(errPassKey, 1, utils.GetTodayLastSecond())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ errNum, _ := utils.Rc.RedisInt(errPassKey)
|
|
|
+ errNum += 1
|
|
|
+ if errNum < 6 {
|
|
|
_ = utils.Rc.Put(errPassKey, errNum, utils.GetTodayLastSecond())
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+ br.Ret = models.BaseRespCodeAbnormalLogin
|
|
|
+ br.Msg = "账号异常, 请进行手机号/邮箱校验"
|
|
|
+ _ = utils.Rc.Put(abnormalKey, "true", utils.GetTodayLastSecond())
|
|
|
+ _ = utils.Rc.Delete(errPassKey)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ dbPass := utils.MD5(fmt.Sprintf("%s%s%s", accountUser.Password, utils.UserLoginSalt, headerTime))
|
|
|
+ if req.Password != dbPass {
|
|
|
+ br.Ret = models.BaseRespCodeLoginErr
|
|
|
br.Msg = "登录失败, 账号或密码错误"
|
|
|
- br.ErrMsg = "登录失败, Err:" + e.Error()
|
|
|
+
|
|
|
+ if !utils.Rc.IsExist(errPassKey) {
|
|
|
+ _ = utils.Rc.Put(errPassKey, 1, utils.GetTodayLastSecond())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ errNum, _ := utils.Rc.RedisInt(errPassKey)
|
|
|
+ errNum += 1
|
|
|
+ if errNum < 6 {
|
|
|
+ _ = utils.Rc.Put(errPassKey, errNum, utils.GetTodayLastSecond())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ br.Ret = models.BaseRespCodeAbnormalLogin
|
|
|
+ br.Msg = "账号异常, 请进行手机号/邮箱校验"
|
|
|
+ _ = utils.Rc.Put(abnormalKey, "true", utils.GetTodayLastSecond())
|
|
|
+ _ = utils.Rc.Delete(errPassKey)
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
if accountUser.Enabled == 0 {
|
|
|
br.Msg = "您的账号已被禁用, 如需登录, 请联系管理员"
|
|
|
br.ErrMsg = fmt.Sprintf("账号已被禁用, 登录账号: %s, 账户名称: %s", accountUser.AdminName, accountUser.RealName)
|