1、解决在线用户强制退出功能 2、初始化系统配置,应用全局 3、预留功能:将把vuex改用pinia(下次上线)

This commit is contained in:
zhangtao
2025-01-10 08:10:12 +08:00
parent 4e15f2ad3d
commit 8d9a64aed3
13 changed files with 136 additions and 32 deletions
@@ -90,7 +90,8 @@ class LoginService:
value=OnlineOutSchema(
session_id=token.access_token,
user_id=user.id,
user_name=user.name,
name=user.name,
user_name=user.username,
ipaddr=request.client.host,
login_location=IpLocalUtil.get_ip_location(request.client.host),
os=user_agent.os.family,
@@ -188,10 +189,12 @@ class LoginService:
payload: JWTPayloadSchema = decode_access_token(token.token)
username: str = payload.sub
# 删除Redis中的token
# await Cache(request.app.state.redis).clear()
# 删除Redis中的在线用户、访问令牌、刷新令牌
await Cache(request.app.state.redis).delete(f"{RedisInitKeyConfig.ONLINE_USER.key}:{username}")
await Cache(request.app.state.redis).delete(f"{RedisInitKeyConfig.ACCESS_TOKEN.key}:{username}")
await Cache(request.app.state.redis).delete(f"{RedisInitKeyConfig.REFRESH_TOKEN.key}:{username}")
logger.info(f"用户退出登录成功,会话号:{username}")
logger.info(f"用户退出登录成功,会话号:{username}")
return True