我用login_required
修饰了一个方法,但我很惊讶它根本没有执行,允许匿名用户。在方法中打印current_user
会返回:
<flask_login.AnonymousUserMixin object at 0xb67dbd4c>
是否应该拒绝user.is_autheticated()
中返回false的用户?我做错了什么?
我用这种方式设置了FL:
lm = LoginManager(app)
lm.login_view = 'root'
在views.py中:
@lm.user_loader
def load_user(id):
return User.query.get(int(id))
实际观点:
@login_required
@app.route("/messages")
def messages():
print "current user", current_user
return "hello world"
答案 0 :(得分:6)
一切看起来都不错,这可能意味着问题出在其他地方。
您使用的配置是什么?如果LOGIN_DISABLED
或TESTING
设置为true,则会禁用身份验证。
如果您的配置正常,请在login_required
装饰器内设置断点,并检查它为何允许匿名用户进入。
答案 1 :(得分:6)