|
|
@@ -55,7 +55,18 @@ func (us *UserService) InfoByUsernamePassword(username, password string) *model.
|
|
55
|
55
|
Logger.Warn("Fallback to local database")
|
|
56
|
56
|
}
|
|
57
|
57
|
u := &model.User{}
|
|
58
|
|
- DB.Where("username = ? and password = ?", username, us.EncryptPassword(password)).First(u)
|
|
|
58
|
+ DB.Where("username = ?", username).First(u)
|
|
|
59
|
+ if u.Id == 0 {
|
|
|
60
|
+ return u
|
|
|
61
|
+ }
|
|
|
62
|
+ ok, newHash, err := utils.VerifyPassword(u.Password, password)
|
|
|
63
|
+ if err != nil || !ok {
|
|
|
64
|
+ return &model.User{}
|
|
|
65
|
+ }
|
|
|
66
|
+ if newHash != "" {
|
|
|
67
|
+ DB.Model(u).Update("password", newHash)
|
|
|
68
|
+ u.Password = newHash
|
|
|
69
|
+ }
|
|
59
|
70
|
return u
|
|
60
|
71
|
}
|
|
61
|
72
|
|
|
|
@@ -151,11 +162,6 @@ func (us *UserService) ListIdAndNameByGroupId(groupId uint) (res []*model.User)
|
|
151
|
162
|
return res
|
|
152
|
163
|
}
|
|
153
|
164
|
|
|
154
|
|
-// EncryptPassword 加密密码
|
|
155
|
|
-func (us *UserService) EncryptPassword(password string) string {
|
|
156
|
|
- return utils.Md5(password + "rustdesk-api")
|
|
157
|
|
-}
|
|
158
|
|
-
|
|
159
|
165
|
// CheckUserEnable 判断用户是否禁用
|
|
160
|
166
|
func (us *UserService) CheckUserEnable(u *model.User) bool {
|
|
161
|
167
|
return u.Status == model.COMMON_STATUS_ENABLE
|
|
|
@@ -168,7 +174,11 @@ func (us *UserService) Create(u *model.User) error {
|
|
168
|
174
|
return errors.New("UsernameExists")
|
|
169
|
175
|
}
|
|
170
|
176
|
u.Username = us.formatUsername(u.Username)
|
|
171
|
|
- u.Password = us.EncryptPassword(u.Password)
|
|
|
177
|
+ var err error
|
|
|
178
|
+ u.Password, err = utils.EncryptPassword(u.Password)
|
|
|
179
|
+ if err != nil {
|
|
|
180
|
+ return err
|
|
|
181
|
+ }
|
|
172
|
182
|
res := DB.Create(u).Error
|
|
173
|
183
|
return res
|
|
174
|
184
|
}
|
|
|
@@ -268,8 +278,12 @@ func (us *UserService) FlushTokenByUuids(uuids []string) error {
|
|
268
|
278
|
|
|
269
|
279
|
// UpdatePassword 更新密码
|
|
270
|
280
|
func (us *UserService) UpdatePassword(u *model.User, password string) error {
|
|
271
|
|
- u.Password = us.EncryptPassword(password)
|
|
272
|
|
- err := DB.Model(u).Update("password", u.Password).Error
|
|
|
281
|
+ var err error
|
|
|
282
|
+ u.Password, err = utils.EncryptPassword(password)
|
|
|
283
|
+ if err != nil {
|
|
|
284
|
+ return err
|
|
|
285
|
+ }
|
|
|
286
|
+ err = DB.Model(u).Update("password", u.Password).Error
|
|
273
|
287
|
if err != nil {
|
|
274
|
288
|
return err
|
|
275
|
289
|
}
|