fix: 过期用户登录提示无效

This commit is contained in:
xinwen 2021-04-09 15:01:22 +08:00 committed by 老广
parent f0bad5f107
commit f11d3c1cf2
3 changed files with 8 additions and 1 deletions

View File

@ -16,6 +16,7 @@ reason_user_not_exist = 'user_not_exist'
reason_password_expired = 'password_expired' reason_password_expired = 'password_expired'
reason_user_invalid = 'user_invalid' reason_user_invalid = 'user_invalid'
reason_user_inactive = 'user_inactive' reason_user_inactive = 'user_inactive'
reason_user_expired = 'user_expired'
reason_backend_not_match = 'backend_not_match' reason_backend_not_match = 'backend_not_match'
reason_acl_not_allow = 'acl_not_allow' reason_acl_not_allow = 'acl_not_allow'
@ -28,6 +29,7 @@ reason_choices = {
reason_password_expired: _("Password expired"), reason_password_expired: _("Password expired"),
reason_user_invalid: _('Disabled or expired'), reason_user_invalid: _('Disabled or expired'),
reason_user_inactive: _("This account is inactive."), reason_user_inactive: _("This account is inactive."),
reason_user_expired: _("This account is expired"),
reason_backend_not_match: _("Auth backend not match"), reason_backend_not_match: _("Auth backend not match"),
reason_acl_not_allow: _("ACL is not allowed"), reason_acl_not_allow: _("ACL is not allowed"),
} }

View File

@ -171,7 +171,7 @@ class AuthMixin:
if not user: if not user:
self.raise_credential_error(errors.reason_password_failed) self.raise_credential_error(errors.reason_password_failed)
elif user.is_expired: elif user.is_expired:
self.raise_credential_error(errors.reason_user_inactive) self.raise_credential_error(errors.reason_user_expired)
elif not user.is_active: elif not user.is_active:
self.raise_credential_error(errors.reason_user_inactive) self.raise_credential_error(errors.reason_user_inactive)
return user return user

View File

@ -667,6 +667,11 @@ class User(AuthMixin, TokenMixin, RoleMixin, MFAMixin, AbstractUser):
else: else:
return user_default return user_default
def unblock_login(self):
from users.utils import LoginBlockUtil, MFABlockUtils
LoginBlockUtil.unblock_user(self.username)
MFABlockUtils.unblock_user(self.username)
@property @property
def login_blocked(self): def login_blocked(self):
from users.utils import LoginBlockUtil, MFABlockUtils from users.utils import LoginBlockUtil, MFABlockUtils