Best way to make Flask-Login's login_required the default
flask, python
Solution
I did this in my instruments project. I use the `before_request` decorator:
@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)
and I then created an `is_public()` decorator for the few places that would need to be accessible without login:
def public_endpoint(function):
function.is_public = True
return function
Problem
Like this question: Best way to make Django's login_required the default I'm using `Flask-Login`'s login_required decorator now. Is there anyway to make it the default behavior in `Flask`?