0

我如何简单地使各种 cookie 无效(包括会话、身份验证等)。

即使我使用“浏览器 cookie 管理器”删除所有 cookie 并重置 IIS,它仍然能够记住身份验证 cookie 并自动登录。

顺便说一句,我们正在使用 SQL Server 会话和表单身份验证。

如果我让 Web 应用程序在“特定”时间内保持不变,它会使所有内容无效并将我重定向到登录。

4

1 回答 1

1

您可以保留 GUID 或其他可用标识符作为“当前”值。

该值可以包含在您的每个 cookie 值中。在您的全局处理程序中,您可以通过确保所有 cookie 与您的服务器的值具有相同的 GUID 来验证您的 cookie。如果它们不匹配,则 cookie 是“旧的”并且不再有任何好处。从那里根据需要继续(重定向到登录屏幕,提供错误消息等)

使用 FormsAuthentication,在您的票证中添加一个自定义对象而不是使用开箱即用的单行代码需要做一些额外的工作,但这还不错。

当您想要使您的用户无效时,只需更改服务器上的 GUID。

如果您想按用户执行此操作,则将 GUID 存储在您的用户表中。如果您只想同时全局使所有人无效,您可以在一个地方只使用一个 GUID。

于 2013-10-29T16:37:13.690 回答