所以我使用了一个flask会话。我使用文件系统类型,这样我可以存储比其他类型更多的会话数据。我的用户希望保持较长的会话超时,并且站点使用最少的服务器存储,所以这是很好的。但是,当我尝试将超时会话设置为下面的24小时时,它仍然在30分钟后超时。
application = Flask(__name__)
SECRET_KEY = os.urandom(32)
application.config['SESSION_PERMANENT'] = True
application.config['SESSION_TYPE'] = 'filesystem'
application.config['PERMANENT_SESSION_LIFETIME'] = timedelta(hours = 24)
application.config['SECRET_KEY'] = SECRET_KEY
Session(application)
@application.before_request
def make_session_permanent():
session.permanent = True
application.permanent_session_lifetime = timedelta(hours = 24)我在这里做错了什么?
发布于 2019-11-20 03:28:05
我会将session.permanent =true的代码行改为session.modified = True,然后看看它是否可以工作。
发布于 2019-11-22 02:44:10
我相信我已经找到了问题所在:SECRET_KEY = os.urandom(32)。每次应用程序重新启动(浏览器中的空闲窗口重新加载)时,会话数据都会随着新密钥的生成而被擦除,这意味着浏览器无法找到所需的cookie。我在外部生成了一个键,然后将这个值硬编码到我的代码中,这样每次都是一样的。
https://stackoverflow.com/questions/58940478
复制相似问题