2

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

我希望第二次会议会再次提示我提供我的凭据。

我是否必须将散列密码写入 cookie 并在每个请求上检查以获取此功能?

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

4

2 回答 2

2

这是预期的行为。FormsAuthentication 仅存储用户信息(以及一些其他数据来验证服务器是否确实生成了该 cookie)。cookie 本身就是有效的凭证(或票据或声明)。如果您对此感到担忧,您应该减少表单 cookie 的有效时间,或者更频繁地询问服务器是否发生密码更改,如果发生密码更改,请执行 FormsAuthentication.SignOut() 操作以强制重新登录。

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

希望这可以帮助。

于 2012-05-12T04:03:38.653 回答
0

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

于 2012-05-12T12:55:20.997 回答