用户在Flask上断开连接后注销

时间:2018-03-21 14:05:24

标签: python flask flask-login

对于那些使用过flask-login的人来说,会知道装饰者fresh_login_required。我正在尝试自己实现类似的东西。

它不一定是装饰者。我只是希望能够在用户完全断开连接后做一些工作(例如:关闭浏览器)。 有一个全局整数变量来计算活跃/在线用户总数是个好主意吗?

提前致谢:)

2 个答案:

答案 0 :(得分:1)

Flask会话由flask会话接口处理。 Flask-Login只是检查当前会话是否是新鲜的。

from flask import session

def login_fresh():
     '''
     This returns ``True`` if the current login is fresh.
     '''
     return session.get('_fresh', False)

def login_user():
    '''
    Your login code here
    '''
    session['_fresh'] = True 

def logout_user():

    '''
    Your logout code here
    '''
    if '_fresh' in session:
        session.pop('_fresh')

上面的代码片段来自Flask-Login源代码,可以访问here。如果您需要用户再次登录,只需检查他的登录是否是新鲜的。

答案 1 :(得分:0)

您应该能够:

@app.before_request
def make_session_permanent():
    session.permanent = False

来自文档:

http://flask.pocoo.org/docs/0.11/api/#flask.session.permanent