问题标签 [flask-session]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 烧瓶用户会话
在对用户进行身份验证后,我无法让用户在浏览我建立的网站时保持登录状态。我尝试过使用 cookie 和会话,但我似乎无法让它工作。
我正在共享我的登录代码,我在其中获取数据以从注册时填充的 Excel 表中对用户进行身份验证
我找到每个团队成员的名字,让他们出现在团队页面上,这是用户在登录后被重定向到的地方
这是用户身份验证的用武之地
这就是我写cookie的方式,但我认为Session可能更有用
团队页面代码
HTML 用户参考
python - 在请求上下文之外设置烧瓶会话变量(在生成器内)
我有一个烧瓶视图,执行该视图以在生成器中加载一些信息(我正在使用生成器,以便我可以连续产生进度 - 加载了多少信息)。这是视图的样子:
我想存储在生成器内的会话变量中加载的信息(此生成器函数在请求上下文之外的不同文件中定义)。但是当我尝试访问会话变量时,出现以下错误:
RuntimeError:在请求上下文之外工作。
那么,有没有办法以这种方式将信息写入会话?我现在正在使用 FileSystemSessionInterface,但如果这能解决我的问题,我愿意使用 redis 会话。
更新:
根据 Sraw 的建议,我尝试了以下更改:
但我仍然得到同样的错误。
更新 2:
所以,我需要使用实际的应用程序实例而不是使用 current_app (应用程序对象是在不同的文件 - app.py 中创建的)
在这样做时,我得到了同样的错误:
RuntimeError:在请求上下文之外工作。
更新 3:
以下是 get_user_saved_tracks 的代码:
python - 如何设置全局密钥来处理烧瓶中的会话
我有一个带有多个蓝图名称的烧瓶应用程序,因为我在身份验证蓝图auth,admin,user
中有一个密钥。view.py
如何将此作为全局键,以便我可以在应用程序的任何地方使用它
我secret_key = 'A0Zr98j/3yX R~XHH!jmN]LWX/,?RT'
在 run.py 文件中设置。但不工作
authentication - 用户通过 flask_login 获得进入权限
我的网站有问题,该网站是使用 python、flask、gunicorn + supervisorctl、nginx 堆栈构建的。
问题是:如果我在对其进行一些更新后通过“sudo supervisorctl reload”重新启动我的网站后以用户身份登录(例如管理员),则任何尝试登录的用户都会以管理员身份登录,即使他们输入一个随机的用户名和密码组合,显然这是非常惊人的。
我目前正在使用 flask_login 插件来处理登录,但我怀疑这与烧瓶会话及其交互方式有关。
我的登录代码如下
我还使用烧瓶会话来识别当前语言和管理翻译
在主路由中:
在我的初始化中
我不确定从哪里开始确定问题所在,目前它有点超出我的范围。我看到的最近的事情是这样的:
但在我的情况下,计算机上似乎也发生了同样的事情,所以并不是真正的 VPN 问题,我不确定相同的解决方案是否可行。
感谢您的帮助!
python - 防止烧瓶会话在 ajax 调用时重新加载
所以,我试图让烧瓶会话在一定时间后过期。
验证用户登录后,我设置session.permanent = True
在我的配置中,我有
并在我的全球之前请求:
如果用户登录我的网站然后关闭选项卡,一分钟后会话过期,则此方法有效。但是,我有一个 AJAX 请求,它在所有页面的后台不断运行。如果用户在此页面中的任何一个中,则会话永远不会过期。
如何防止这种行为?
flask - Flask:清除来自管理员的会话
在我的烧瓶应用程序中,注销可以清除会话。
但是只有当用户在我的网站上单击注销时才会调用注销。
我正在实现一个可以阻止神秘用户的功能。所以,我需要在未经他同意的情况下强制注销用户。如果我可以清除他的会话,我的逻辑也会起作用。请指导。
注意:有人建议更改 app.secret_key。但这将清除所有用户的会话,而不仅仅是特定用户。
python - Flask 会话不会与并行请求一致地更新
我注意到当并行运行的请求修改 Flask 时session
,只记录了一些键。Flask 的默认 cookie 会话和使用 Redis 后端的 Flask-Session 都会发生这种情况。该项目并不新鲜,但只有在同一会话同时发生许多请求时,这才变得引人注目。
以下 shell 脚本演示了该问题。请注意,所有请求都已完成,但最终清单中仅存在一个键,并且在测试运行之间有所不同。
为什么请求完成后所有键都不存在?
python - Flask-Session 无法从 itsdangerous 中导入 want_bytes
我正在使用 Flask-Session,最近安装或升级到了危险的 1.0.0。现在我得到了错误ImportError: cannot import name 'want_bytes'
。为什么会发生此错误,我该如何解决?
我对此感到困惑,并且无法在 stackoverflow 或任何地方找到适用或有用的答案。
python - from flask_session import Session 产生 ImportError: cannot import name want_bytes
我正在尝试将 flask_session 用于基于 redis 的会话并收到以下错误:
使用以下
产生错误:
python - 烧瓶请求上下文和芹菜
所以,我正在开发一个多租户 Flask 应用程序。我目前正在使用 sqlalchemy 和多模式模式。要定义当前模式,我使用此函数:
当我有请求上下文时它工作得很好,但是当芹菜任务尝试使用连接时,我收到一个错误,说我不在请求上下文中工作。
有没有办法在 celery 任务中访问会话,或者以不同的方式与我的连接事件共享租户?