MVC 5应用程序中的WSFederation注销不会删除Internet Explorer中的身份验证Cookie

时间:2016-03-02 13:50:47

标签: asp.net-mvc-5 claims-based-identity ws-federation

我正在使用WSFederation身份验证开发MVC 5应用程序。当用户注销时,我使用以下代码:

Frequency

然后我重定向到“signOutRequestMessage”。

这适用于Chrome。注销后,如果我导航回受保护的页面,浏览器会提示进行身份验证。但是,在Internet Explorer 9中不会发生此行为.IE只是很高兴地让用户访问该页面!

我也尝试过调用FederatedAuthentication.SessionAuthenticationModule.FederatedSignOut(),但没有区别。

我尝试从Response对象中删除FedAuth和FedAuth1 cookie,但仍然没有区别。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

尝试将cookie设置为过期日期。

foreach (string key in Request.Cookies.AllKeys)
{
    HttpCookie cookie = new HttpCookie(key)
    {
        Expires = DateTime.UtcNow.AddDays(-7),
        Secure = true,
        HttpOnly = true
    };
    Response.Cookies.Add(cookie);
}