Flask:无需身份验证即可登录

时间:2015-06-26 16:05:57

标签: python login flask

我有一个Flask应用程序,我需要登录,但我不需要身份验证。用户名和密码字段需要发送到已创建的函数,该函数将用户登录到netscaler。此函数返回会话密钥。此外,如果有多个人访问Web应用程序,我如何将每个会话分开?我不想注册任何用户,因为不需要。

1 个答案:

答案 0 :(得分:0)

由于您已经拥有登录功能,并且只需保持会话密钥以区分用户,因此请使用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值设置为True,并将permanent_session_lifetime配置为您希望登录有效的时长

app.config['PERMANENT_SESSION_LIFETIME'] = # ...

session['key'] = # ...
session.permanent = True