你将需要在每次请求时从数据库加载用户对象。达到此要求的最强烈原因是Flask-Login每次都会检查身份验证令牌以确保其连续有效性。该令牌的计算可能需要将参数存储在用户对象上。
例如,假设一个用户有两个并发会话。在其中之一中,用户更改其密码。在随后的请求中,必须注销该第二个会话的用户,并强制其重新登录,以确保你的应用程序安全。考虑一下第二次会话被盗的情况,因为你的用户忘记了注销计算机-你希望更改密码以立即解决这种情况。你可能还希望使管理员能够将用户踢出去。
为了使这种强制注销发生,存储在cookie中的身份验证令牌必须:1)部分基于密码或每次设置新密码时都会更改的其他内容;2)在运行任何视图之前,请对照存储在数据库中的用户对象的最新已知属性进行检查。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)