使用Asp.net杀死Windows身份验证会话

时间:2014-04-10 06:57:09

标签: c# asp.net session windows-authentication

我用windows认证开发了asp.net应用程序。每当用户打开网站时,第一次询问Windows用户名和密码。我想通过单击“注销”按钮来终止Windows身份验证会话。

  

如何在不关闭浏览器的情况下终止Windows身份验证会话?

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

当您调用Session.Abandon()时,会话将排队等待删除。 sessionid也存储在客户端的cookie中。 当客户端使用此sessionid对服务器进行新调用时,服务器将重新生成会话(使用相同的ID创建新会话)。这使得看起来相同的会话仍然存在。 要删除cookie客户端,请使用以下代码:

        if(Request.Cookies["SessionId_"] != null)
        {
            Response.Cookies["SessionId_"].Expires = DateTime.Now.AddMilliseconds(-10);
        }
        else if(Request.Cookies["ASP.NET_SessionId"] != null)
        {
            Response.Cookies["ASP.NET_SessionId"].Expires = DateTime.Now.AddMilliseconds(-10);
        }
        Session.Abandon();