fix(auth,audit): ensure display_name persists in token refresh and add fallback in audit log
This commit is contained in:
@ -205,6 +205,17 @@ def audit_log(module: str, action: str = None, get_target_id_fn=None, get_target
|
||||
username = claims.get('username', '')
|
||||
display_name = claims.get('display_name', '')
|
||||
|
||||
# 兜底:如果 display_name 为空,查询数据库获取
|
||||
if not display_name and user_id:
|
||||
try:
|
||||
from app.models.system import SysUser
|
||||
user = SysUser.query.get(user_id)
|
||||
if user:
|
||||
user_info = user.to_dict()
|
||||
display_name = user_info.get('display_name', username)
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
# 获取IP
|
||||
ip_address = request.headers.get('X-Forwarded-For') or request.remote_addr or ''
|
||||
if ip_address and ',' in ip_address:
|
||||
|
||||
Reference in New Issue
Block a user