问题描述
我有一个烧瓶网站的小登录表单,它使用 post 方法从 html 中的 <form>
标签接收登录信息并验证用户,然后 user_id 将存储在会话中以检查 @app.before_request
会话是否包含 user_id。
该代码在 locallost 中测试时运行良好,并且通过 1 次登录我可以看到不同的页面。
但是在主服务器上,在我登录后,它导航到第一页,通过刷新或导航到其他页面会话将删除并再次转到登录页面。
请您帮我看看是什么原因以及解决方法是什么?
session['user_id'] = user[0][0]
session['user_name'] = user[0][1]
session.modified = True
return redirect('Dashboard')
if 'user_id' in session:
return render_template('Report1.html')
return redirect('Login')
@app.before_request
def before_request():
session.permanent = True
g.user_id = None
g.user_name = "You are not logged in"
if 'user_id' in session:
g.user_id = session['user_id']
g.user_name = session['user_name']
解决方法
对于应用程序secret_key,我使用了os.urandom(...)
,但我将其更改为固定字符串并解决了它!