我正在建立一个带烧瓶的网站,用户可以在其中登录帐户.我正在使用flask-principal进行部分登录和角色管理.有没有办法让用户的会话在说5分钟或10分钟后过期?我无法在烧瓶文档或flask-principal的文档中找到它.
我想到了一种手工操作的方法,在登录时设置带有时间标记的变量服务器端,在用户采取的下一个操作中,服务器验证该时间戳上的时间增量并删除会话.
我有一个 Javascript 应用程序和一个 Flask 应用程序。当用户将数据从 Js 发送到 Flask 时,我将其存储在其中session并且它在特定路线上工作正常:
@app.route(...)
def user(...):
session['name'] = name
print(session['name']) # Works !
Run Code Online (Sandbox Code Playgroud)
但是当我从另一个方法/路由获取会话值时,会话为空:
@app.route(...)
def current():
print(session.keys(), session.values) # Empty !
Run Code Online (Sandbox Code Playgroud)
我已经安装了Flask Session并将配置设置为:
'SECRET_KEY': b'...',
'SESSION_TYPE': 'filesystem', # Memcache, null and redis
'SESSION_PERMANENT': False, # True
Run Code Online (Sandbox Code Playgroud)
然后启动了 Flask 应用程序,它不起作用。我也尝试session.modified = True在向会话添加一些新值后进行设置,但仍然无法正常工作。
我在 Stack Over Flow、Reddit 等上阅读了很多主题;没有任何效果。请提示?