Browse Source

Merge pull request #2823 from zacheryph/feature/local-only-password-reset

Prevent `Forgot Password` for non local users
pull/2832/head
Unknwon 9 years ago
parent
commit
8966f5635d
  1. 1
      conf/locale/locale_en-US.ini
  2. 6
      routers/user/auth.go

1
conf/locale/locale_en-US.ini

@ -157,6 +157,7 @@ reset_password = Reset Your Password
invalid_code = Sorry, your confirmation code has expired or not valid. invalid_code = Sorry, your confirmation code has expired or not valid.
reset_password_helper = Click here to reset your password reset_password_helper = Click here to reset your password
password_too_short = Password length cannot be less then 6. password_too_short = Password length cannot be less then 6.
non_local_account = Non-local accounts cannot change passwords through Gogs.
[mail] [mail]
activate_account = Please activate your account activate_account = Please activate your account

6
routers/user/auth.go

@ -343,6 +343,12 @@ func ForgotPasswdPost(ctx *context.Context) {
return return
} }
if !u.IsLocal() {
ctx.Data["Err_Email"] = true
ctx.RenderWithErr(ctx.Tr("auth.non_local_account"), FORGOT_PASSWORD, nil)
return
}
if ctx.Cache.IsExist("MailResendLimit_" + u.LowerName) { if ctx.Cache.IsExist("MailResendLimit_" + u.LowerName) {
ctx.Data["ResendLimited"] = true ctx.Data["ResendLimited"] = true
ctx.HTML(200, FORGOT_PASSWORD) ctx.HTML(200, FORGOT_PASSWORD)

Loading…
Cancel
Save