python – 最好的方法,使Flask-Login的login_required为默认值

喜欢这个问题:Best way to make Django’s login_required the default

我现在正在使用Flask-Login的login_required装饰器。有没有把它作为Flask的默认行为?

我在我的instruments项目中这样做了。我使用before_request装饰器:

@app.before_request
def check_valid_login():
    login_valid = 'user' in session # or whatever you use to check valid login

    if (request.endpoint and 
        'static' not in request.endpoint and 
        not login_valid and 
        not getattr(app.view_functions[request.endpoint], 'is_public', False) ) :
        return render_template('login.html', next=request.endpoint)

然后我创建了一个is_public()装饰器,需要在没有登录的情况下才能访问的几个地方:

def public_endpoint(function):
    function.is_public = True
    return function
http://stackoverflow.com/questions/13428708/best-way-to-make-flask-logins-login-required-the-default

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:python – 最好的方法,使Flask-Login的login_required为默认值