From 83758854681c7be2c102dabc1de7df2a19d1f8d5 Mon Sep 17 00:00:00 2001 From: Caozhenhui <823914102@qq.com> Date: Wed, 15 Dec 2021 14:40:13 +0800 Subject: [PATCH] If the login is successful, failed login count is cleared --- admin/views/users/user/user.html | 2 +- myems-api/core/user.py | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/admin/views/users/user/user.html b/admin/views/users/user/user.html index 41c399bc..eae9dd2d 100644 --- a/admin/views/users/user/user.html +++ b/admin/views/users/user/user.html @@ -36,7 +36,7 @@ {{'SETTING.EDIT' | translate}} {{'USER.RESET_PASSWORD' | translate}} {{'SETTING.DELETE' | translate}} - {{'SETTING.UNLOCK' | translate}} + {{'SETTING.UNLOCK' | translate}} diff --git a/myems-api/core/user.py b/myems-api/core/user.py index 69df28de..fae74f6a 100644 --- a/myems-api/core/user.py +++ b/myems-api/core/user.py @@ -27,7 +27,7 @@ class UserCollection: cursor = cnx.cursor() query = (" SELECT u.id, u.name, u.display_name, u.uuid, " " u.email, u.is_admin, p.id, p.name, " - " u.account_expiration_datetime_utc, u.password_expiration_datetime_utc " + " u.account_expiration_datetime_utc, u.password_expiration_datetime_utc, u.failed_login_count " " FROM tbl_users u " " LEFT JOIN tbl_privileges p ON u.privilege_id = p.id " " ORDER BY u.name ") @@ -59,7 +59,8 @@ class UserCollection: "account_expiration_datetime": account_expiration_datetime_local.strftime('%Y-%m-%dT%H:%M:%S'), "password_expiration_datetime": - password_expiration_datetime_local.strftime('%Y-%m-%dT%H:%M:%S')} + password_expiration_datetime_local.strftime('%Y-%m-%dT%H:%M:%S'), + "failed_login_count": row[10]} result.append(meta_result) resp.text = json.dumps(result) @@ -523,6 +524,14 @@ class UserLogin: cnx.disconnect() raise falcon.HTTPError(falcon.HTTP_400, 'API.BAD_REQUEST', 'API.INVALID_PASSWORD') + if failed_login_count != 0: + update_failed_login_count = (" UPDATE tbl_users " + " SET failed_login_count = 0 " + " WHERE uuid = %s ") + user_uuid = result['uuid'] + cursor.execute(update_failed_login_count, (user_uuid, )) + cnx.commit() + if result['account_expiration_datetime_utc'] <= datetime.utcnow(): cursor.close() cnx.disconnect()