仕様に合わせてロジック修正
This commit is contained in:
parent
4270582d7a
commit
000e9c006f
@ -70,8 +70,8 @@ def login(
|
|||||||
pre_login_user_record = login_service.logged_in_user(request.username)
|
pre_login_user_record = login_service.logged_in_user(request.username)
|
||||||
# ログイン失敗回数が10回以上あれば、ログアウト画面にリダイレクトする
|
# ログイン失敗回数が10回以上あれば、ログアウト画面にリダイレクトする
|
||||||
if pre_login_user_record is not None and pre_login_user_record.is_login_failed_limit_exceeded():
|
if pre_login_user_record is not None and pre_login_user_record.is_login_failed_limit_exceeded():
|
||||||
logger.info(f'ログイン失敗回数が10回以上: {request.username}')
|
logger.info(f'ログイン失敗回数が10回以上: {pre_login_user_record.user_id}')
|
||||||
login_service.on_login_fail_limit_exceeded(request.username)
|
login_service.incorrect_login_password_attempt(pre_login_user_record.user_id)
|
||||||
raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail=constants.LOGOUT_REASON_LOGIN_FAILED_LIMIT_EXCEEDED)
|
raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail=constants.LOGOUT_REASON_LOGIN_FAILED_LIMIT_EXCEEDED)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -79,7 +79,11 @@ def login(
|
|||||||
except NotAuthorizeException as e:
|
except NotAuthorizeException as e:
|
||||||
logger.info(f'ログイン失敗:{e}')
|
logger.info(f'ログイン失敗:{e}')
|
||||||
login_service.incorrect_login_password_attempt(request.username)
|
login_service.incorrect_login_password_attempt(request.username)
|
||||||
raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail=constants.LOGOUT_REASON_LOGIN_ERROR)
|
if pre_login_user_record is not None and pre_login_user_record.is_on_login_failed_limit():
|
||||||
|
login_service.on_login_fail_limit_exceeded(pre_login_user_record.user_id)
|
||||||
|
raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail=constants.LOGOUT_REASON_LOGIN_FAILED_LIMIT_EXCEEDED)
|
||||||
|
else:
|
||||||
|
raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail=constants.LOGOUT_REASON_LOGIN_ERROR)
|
||||||
except JWTTokenVerifyException as e:
|
except JWTTokenVerifyException as e:
|
||||||
logger.info(f'ログイン失敗:{e}')
|
logger.info(f'ログイン失敗:{e}')
|
||||||
raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED)
|
raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED)
|
||||||
|
|||||||
@ -39,3 +39,6 @@ class UserMasterModel(BaseDBModel):
|
|||||||
|
|
||||||
def is_login_failed_limit_exceeded(self):
|
def is_login_failed_limit_exceeded(self):
|
||||||
return self.mntuser_login_failed_cnt >= constants.LOGIN_FAIL_LIMIT
|
return self.mntuser_login_failed_cnt >= constants.LOGIN_FAIL_LIMIT
|
||||||
|
|
||||||
|
def is_on_login_failed_limit(self):
|
||||||
|
return self.mntuser_login_failed_cnt == constants.LOGIN_FAIL_LIMIT - 1
|
||||||
Loading…
x
Reference in New Issue
Block a user