更改密码后,窗体身份验证仍可跨会话工作



我正在使用香草表单身份验证。 如果我以同一用户身份打开了多个会话,并且我在一个会话中更改了密码,则另一个会话仍会进行身份验证。

预计第二次会议会再次提示我提交全权证书。

我是否必须将散列密码写入 cookie 并在每次请求时检查该密码才能获得此功能?

对我来说似乎是一个安全漏洞。

这是

预期行为。FormsAuthentication 仅存储用户信息(使用一些其他数据来验证服务器是否确实生成了该 Cookie)。Cookie 本身是有效的凭据(或票证或索赔)。如果您担心这一点,您应该减少表单cookie的有效时间,或者可能更频繁地打电话回家,询问服务器是否发生了密码更改,如果是,请执行FormsAuthentication.SignOut()操作以强制重新登录。

也许不是您希望 FormsAuthentication 做什么,而是它做什么。

希望这有帮助。

正如我在评论中提到的,如果这是您想要的行为,您需要自己强制此操作。 这可以像从您自己的"SecureBasePage"派生所有安全页面一样简单。 在该安全页面中,您可以轮询数据库以查看自用户获得授权以来密码是否已更改

最新更新