From 0fd4fb283ac6d12779f161048913cb45a953d115 Mon Sep 17 00:00:00 2001 From: insistence <3055204202@qq.com> Date: Mon, 28 Jul 2025 14:55:21 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Dlogout=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E6=9C=AA=E6=8C=89=E7=85=A7app=5Fsame=5Ftime=5Flogin?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E9=A1=B9=E5=8A=A8=E6=80=81=E5=88=A4=E6=96=AD?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98=20#IBZZ1S?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module_admin/controller/login_controller.py | 7 +++++-- .../module_admin/service/login_service.py | 6 +++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/ruoyi-fastapi-backend/module_admin/controller/login_controller.py b/ruoyi-fastapi-backend/module_admin/controller/login_controller.py index 6d13fcc..1a3c198 100644 --- a/ruoyi-fastapi-backend/module_admin/controller/login_controller.py +++ b/ruoyi-fastapi-backend/module_admin/controller/login_controller.py @@ -141,8 +141,11 @@ async def logout(request: Request, token: Optional[str] = Depends(oauth2_scheme) payload = jwt.decode( token, JwtConfig.jwt_secret_key, algorithms=[JwtConfig.jwt_algorithm], options={'verify_exp': False} ) - session_id: str = payload.get('session_id') - await LoginService.logout_services(request, session_id) + if AppConfig.app_same_time_login: + token_id: str = payload.get('session_id') + else: + token_id: str = payload.get('user_id') + await LoginService.logout_services(request, token_id) logger.info('退出成功') return ResponseUtil.success(msg='退出成功') diff --git a/ruoyi-fastapi-backend/module_admin/service/login_service.py b/ruoyi-fastapi-backend/module_admin/service/login_service.py index 5579f0d..9c61f22 100644 --- a/ruoyi-fastapi-backend/module_admin/service/login_service.py +++ b/ruoyi-fastapi-backend/module_admin/service/login_service.py @@ -466,15 +466,15 @@ class LoginService: return CrudResponseModel(**result) @classmethod - async def logout_services(cls, request: Request, session_id: str): + async def logout_services(cls, request: Request, token_id: str): """ 退出登录services :param request: Request对象 - :param session_id: 会话编号 + :param token_id: 令牌编号 :return: 退出登录结果 """ - await request.app.state.redis.delete(f'{RedisInitKeyConfig.ACCESS_TOKEN.key}:{session_id}') + await request.app.state.redis.delete(f'{RedisInitKeyConfig.ACCESS_TOKEN.key}:{token_id}') # await request.app.state.redis.delete(f'{current_user.user.user_id}_access_token') # await request.app.state.redis.delete(f'{current_user.user.user_id}_session_id')