我的Visual Studio 2010 C#Web应用程序中有以下代码。 Web应用程序在IIS中启用了Windows Authentication
。
<script runat="server">
void Signout_Click(object sender, EventArgs e)
{
FormsAuthentication.SignOut();
Response.Redirect("WebForm1.aspx");
}
</script>
<body>
<form id="form1" runat="server">
<div>
<span class="style1"><strong>
<asp:HyperLink ID="Link_Home" runat="server" NavigateUrl="~/WebForm1.aspx">Home</asp:HyperLink> |
<asp:Button ID="Submit1" OnClick="Signout_Click" Text="Sign Out" runat="server" />
</strong></span><br />
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</div>
</form>
</body>
</html>
但是,我注意到FormsAuthentication.SignOut();
似乎无效。这是因为当我点击按钮时。假设注销并清除当前用户,以便当其他用户访问此页面时,应提示输入密码。
但是,当我打开另一个标签并输入网络应用程序网址时,它没有提示我输入用户名或密码。只有当Web浏览器关闭并再次使用Web应用程序URL打开时,它才会提示我输入用户名和密码。
感谢是否有人可以帮助我。
答案 0 :(得分:3)
我使用以下代码注销并重定向到登录页面。
try {
document.execCommand("ClearAuthenticationCache");
}
catch (e) { }
window.location.replace("login.aspx");
更多细节和参考如下: