一个主页,匿名用户可以登录。
登录后,他们可以访问受保护的内容(为匿名用户返回401
)。
但是,当用户执行以下步骤时:
现在匿名的用户仍然可以看到受保护页面的内容,以及他事先登录的用户数据。
有趣的是,这种行为在生产环境中发生仅(不在我的本地开发机器上)。在dev
中,一切都正常,一旦用户退出,他就无法访问受保护的内容。这让我觉得它本身并不是一个应用程序问题,而是在nginx
或gunicorn
的水平上。
有什么想法吗?
/application.py
from flask.ext.login import logout_user, login_required
# ...
@app.route('/logout')
def logout():
if not current_user.is_anonymous:
logout_user()
return redirect(url_for('index'))
@app.route('/me')
@login_required
def me():
return render_template('me.html')
/templates/me.html
{{ current_user.name }}
<a href="{{ url_for('logout') }}">Logout</a>
答案 0 :(得分:0)
这应该完成工作,在登录期间创建会话cookie和响应对象,并根据会话cookie的存在识别用户,但是当用户注销时删除会话cookie。 这可能会有所帮助☺☺☺
答案 1 :(得分:0)
正如我发布的另一个问题所解释,与同一主题相关:
nginx does not receive requests except for hard refresh
问题在于nginx
缓存设置。
在expires 0;
中将nginx.conf
添加到http { ... }
就可以了。