From a555f2de598ac3678eb6559a134355c8e7afa79c Mon Sep 17 00:00:00 2001 From: zhouping Date: Wed, 17 Jul 2024 15:23:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=93=8D=E4=BD=9C=E6=97=A5?= =?UTF-8?q?=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- website/consts.py | 4 ++++ website/handlers/user/handler.py | 35 ++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/website/consts.py b/website/consts.py index 5091fa5..b623f1e 100644 --- a/website/consts.py +++ b/website/consts.py @@ -62,10 +62,14 @@ op_type_delete_str = u"删除" op_type_upload = 1005 # 上传 op_type_upload_str = u"上传" +op_type_login_logout = 1006 +op_type_login_logout_str = u"登录/登出" + op_type_map = { op_type_add: op_type_add_str, op_type_edit: op_type_edit_str, op_type_list: op_type_list_str, op_type_delete: op_type_delete_str, op_type_upload: op_type_upload_str, + op_type_login_logout: op_type_login_logout_str, } diff --git a/website/handlers/user/handler.py b/website/handlers/user/handler.py index 8a0a3f3..8d08478 100644 --- a/website/handlers/user/handler.py +++ b/website/handlers/user/handler.py @@ -9,6 +9,7 @@ from sqlalchemy import text from website import db_mysql from website import errors +from website import consts from website import settings from website.handler import APIHandler, authenticated from website.util import aes @@ -44,6 +45,23 @@ class LogoutHandler(APIHandler): # self.current_user.name, self.request.remote_ip, "平台管理中心", "账号管理", "登出", "系统登出", "系统登出" # ) + with self.app_mysql.connect() as conn: + conn.execute(text( + "insert into sys_log(user, ip, primary_menu, sub_menu, op_type, content, comment) " + "values(:user, :ip, :primary_menu, :sub_menu, :op_type, :content, :comment)" + ), + {"user": self.current_user.name, + "ip": self.request.headers[ + "X-Forwarded-For"] if "X-Forwarded-For" in self.request.headers else self.request.remote_ip, + "primary_menu": "系统操作", + "sub_menu": "登录/登出", + "op_type": consts.op_type_login_logout_str, + "content": "退出登录", + "comment": "" + } + ) + conn.commit() + self.r_app.delete(settings.session_key_prefix % self.current_user.uuid) self.finish() @@ -162,6 +180,23 @@ class LoginHandler(APIHandler): # "system_status": system_status, # 9000/未激活, 9001/已激活, 9002/过期可查看, 9003/完全过期 } + with self.app_mysql.connect() as conn: + conn.execute(text( + "insert into sys_log(user, ip, primary_menu, sub_menu, op_type, content, comment) " + "values(:user, :ip, :primary_menu, :sub_menu, :op_type, :content, :comment)" + ), + {"user": username, + "ip": self.request.headers[ + "X-Forwarded-For"] if "X-Forwarded-For" in self.request.headers else self.request.remote_ip, + "primary_menu": "系统操作", + "sub_menu": "登录/登出", + "op_type": consts.op_type_login_logout_str, + "content": "登录成功", + "comment": "" + } + ) + conn.commit() + self.finish(render_data)