- fix bugs in auth2
This commit is contained in:
@@ -48,18 +48,21 @@ func (a *Auther) VerifySecret(userID, passMD5 string) (authBind *model.AuthBind,
|
||||
func (a *Auther) ChangePassword(userID, oldPassMD5, newPassMD5 string) (err error) {
|
||||
var authBind *model.AuthBind
|
||||
db := dao.GetDB()
|
||||
salt := utils.GetUUID()
|
||||
encryptPwd := a.encryptPassword(newPassMD5, salt)
|
||||
if authBind, err = dao.GetAuthBind(db, "", AuthType, userID); err == nil {
|
||||
if err = a.checkPassword(authBind, oldPassMD5); err == nil || authBind.AuthSecret == "" { // 如果原密码为空,不判断原密码,代表重置密码
|
||||
authBind.AuthSecret = newPassMD5
|
||||
_, err = dao.UpdateEntity(db, authBind, "AuthSecret")
|
||||
_, err = dao.UpdateEntityLogically(db, authBind, map[string]interface{}{
|
||||
"AuthSecret": encryptPwd,
|
||||
"AuthSecret2": salt,
|
||||
}, "admin", nil)
|
||||
}
|
||||
} else if dao.IsNoRowsError(err) {
|
||||
salt := utils.GetUUID()
|
||||
err = a.AddAuthBind(&model.AuthBind{
|
||||
UserID: userID,
|
||||
Type: AuthType,
|
||||
AuthID: userID,
|
||||
AuthSecret: a.encryptPassword(newPassMD5, salt),
|
||||
AuthSecret: encryptPwd,
|
||||
AuthSecret2: salt,
|
||||
}, "admin")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user