fix: 修复redis服务异常时(如: 主从切换), 用户session立即过期的问题

pull/6231/head
Bai 2021-06-03 19:23:47 +08:00 committed by 老广
parent 95eb11422a
commit 0bced39f08
3 changed files with 19 additions and 1 deletions

View File

View File

@ -0,0 +1,18 @@
from redis_sessions.session import force_unicode, SessionStore as RedisSessionStore
from redis import exceptions
class SessionStore(RedisSessionStore):
def load(self):
try:
session_data = self.server.get(
self.get_real_stored_key(self._get_or_create_session_key())
)
return self.decode(force_unicode(session_data))
except exceptions.ConnectionError as e:
# 解决redis服务异常(如: 主从切换时)用户session立即过期的问题
raise
except:
self._session_key = None
return {}

View File

@ -126,7 +126,7 @@ SESSION_EXPIRE_AT_BROWSER_CLOSE = True
# 自定义的配置SESSION_EXPIRE_AT_BROWSER_CLOSE 始终为 True, 下面这个来控制是否强制关闭后过期 cookie
SESSION_EXPIRE_AT_BROWSER_CLOSE_FORCE = CONFIG.SESSION_EXPIRE_AT_BROWSER_CLOSE_FORCE
SESSION_SAVE_EVERY_REQUEST = CONFIG.SESSION_SAVE_EVERY_REQUEST
SESSION_ENGINE = 'redis_sessions.session'
SESSION_ENGINE = 'jumpserver.rewriting.session'
SESSION_REDIS = {
'host': CONFIG.REDIS_HOST,
'port': CONFIG.REDIS_PORT,