Flask 会话数据在 localhost 测试中有效,但在主服务器中无效

问题描述

我有一个烧瓶网站的小登录表单,它使用 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(...),但我将其更改为固定字符串并解决了它!

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...