From 42ff5a382ab7530646806e3f54e8a6c5d54514d5 Mon Sep 17 00:00:00 2001 From: ibuler Date: Thu, 8 Aug 2019 15:14:08 +0800 Subject: [PATCH] =?UTF-8?q?[Update]=20=E4=BF=AE=E6=94=B9=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?session=E7=9A=84=E6=97=B6=E9=97=B4=EF=BC=8C=E9=81=BF=E5=85=8Dsd?= =?UTF-8?q?k=E7=AD=89=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/jumpserver/middleware.py | 3 ++- apps/users/api/user.py | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/apps/jumpserver/middleware.py b/apps/jumpserver/middleware.py index c0472d64f..775041b9d 100644 --- a/apps/jumpserver/middleware.py +++ b/apps/jumpserver/middleware.py @@ -57,7 +57,8 @@ class RequestMiddleware: def __call__(self, request): set_current_request(request) response = self.get_response(request) - if not settings.SESSION_EXPIRE_AT_BROWSER_CLOSE: + is_request_api = request.path.startswith('/api') + if not settings.SESSION_EXPIRE_AT_BROWSER_CLOSE and not is_request_api: age = request.session.get_expiry_age() request.session.set_expiry(age) return response diff --git a/apps/users/api/user.py b/apps/users/api/user.py index ba8e48b25..8f3ad6150 100644 --- a/apps/users/api/user.py +++ b/apps/users/api/user.py @@ -179,6 +179,11 @@ class UserProfileApi(generics.RetrieveAPIView): def get_object(self): return self.request.user + def retrieve(self, request, *args, **kwargs): + age = request.session.get_expiry_age() + request.session.set_expiry(age) + return super().retrieve(request, *args, **kwargs) + class UserResetOTPApi(generics.RetrieveAPIView): queryset = User.objects.all()