我正在开发ASP.NET MVC应用程序。我做了一些更改,以便在最新版本的cookie中保存一些额外的信息。 我的客户很少仍在运行旧版本。 有没有办法让现有客户的现有cookie到期,并强制他们在连接到我在IIS中托管的新应用程序时再次登录?
谢谢,
答案 0 :(得分:21)
您可以使用SignOut静态方法:
FormsAuthentication.SignOut();
这将删除身份验证Cookie,并且后续请求将不会对用户进行身份验证。我强调了后续这个词,因为在调用这个方法后你应该重定向。
答案 1 :(得分:4)
我在web.config中为我的cookie提供了更新的名称,这似乎解决了我的问题: -
<forms loginUrl="~/Account/LogOn" name="InsightWebMobileCookie2" timeout="10000" slidingExpiration="true" />
答案 2 :(得分:1)
此处的问题是您无法读取Cookie过期日期,因此您无法从Cookie中了解旧用户是谁。
所以你的选择是:
您可以将该代码放在global.asax中的Application_AuthenticateRequest事件中。此时用户已经过身份验证,因此您可以在那里检查他们的cookie。