[英]Flask: Login without authentication
我有一个Flask应用程序,需要登录后才能使用,但不需要身份验证。 用户名和密码字段需要发送到已经创建的函数,该函数将用户登录到netscaler。 此函数返回会话密钥。 另外,如果有多个人正在访问Web应用程序,那么如何使他们的每个会话分开? 我不想注册任何用户,因为这不是必需的。
由于您已经具有登录功能,并且只需保留会话密钥以区分用户,因此请使用session
代理:
session['key'] = your_login_function(request.form.get('username'), request.form.get('password'))
要检查用户是否已登录,请检查session
中的密钥:
if 'key' in session:
# there's a logged-in user
app.before_request
是一个很棒的地方,因为它在每个请求之前被调用:
@app.before_request
def _check_user_login():
if not request.path.startswith('/static/') and \
not request.path in ['/urls', '/that', '/do', '/not', '/require', '/login']:
if not 'key' in session:
return redirect(url_for('your_login_page'))
要限制多久用户可以在该键下保持登录状态,设置会话的permanent
价值为真,并配置permanent_session_lifetime
要多久你想登录是有效的
app.config['PERMANENT_SESSION_LIFETIME'] = # ...
session['key'] = # ...
session.permanent = True
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.