如果session.modified,如何理解烧瓶会话片段(如果不是会话):

xbynet

当我阅读带有Redis或flask.sessions.SecureCookieSessionInterface源代码的服务器端会话时,我对这个'if'语句感到困惑。如果会话为None,则代码应该尝试在下一行获取session.sid还是检查修改后的标志?

def save_session(self, app, session, response):
    domain = self.get_cookie_domain(app)
    if not session:
        self.redis.delete(self.prefix + session.sid)
        if session.modified:
            response.delete_cookie(app.session_cookie_name,
                                   domain=domain)
        return

请告诉我为什么,我非常想。

大卫主义

session将是的实例RedisSession,它是的子类dict检查dict的真实性会返回False是否为空。当会话为空时,将清除Redis记录和cookie。

你混淆if not session:使用if session is None:检查会话的真实性并不意味着未设置会话,仅表示它是错误的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如果时间是,则设置$ _SESSION [“ reverify”]

如果没有req.session.save(),会话将不会保存在Node.js中。

如果不是Null,如何加载片段-Android?

如果托管的Spark Session死亡,则得到通知

合并“如果$ _SESSION与<script>不起作用

如果无法使用会话

如果顶部面板中缺少会话小程序,如何注销?

如果不存在,如何创建新的tmux会话

如果未设置会话变量,如何执行Auth调用

如果cart_id不再存在,如何强制终止会话?

如果会话存在,如何使用附加启动 tmux

如果应用程序保持空闲状态,如何使会话超时

如果我的Django应用正在使用基于缓存的会话后端,则删除`django_session`表是否安全?

ServiceStack 4.0.60:如果默认行为是不持久保存会话,如何修改/杀死会话?

如果不是表单,在烧瓶中获取按钮?

Hibernate Session.delete()一个对象(如果存在)

如果(HttpContext.Current.Session [“ id”]!= null)返回NULL EXCEPTION

如果php $ _SESSION变量具有数据

如果 session.auto_start 开启,phpMyAdmin 不会登录

如果 $_SESSION['uname'] 不等于 "teacher",则返回主页

如果未设置会话,则打印默认消息

php会话,如果语句回显

如果 Cascade 类型不是 All,session.save() 不起作用?

如果有新会话,则覆盖文件,但如果有相同会话,则追加

我如何附加到第一个未附加的tmux会话,或者如果没有未附加的会话,则如何创建新的会话?

如果会话未通过验证,则发送“需要验证的消息”,如果会话超时,则发送“会话已过期”

烧瓶登录:请记住,如果将login_manager的session_protection设置为“ strong”,我将无法工作

WP Session Manager-如何销毁会话

flask-session:如何创建会话表