我正在使用带有 Windows 身份验证和注销选项的 ASP.NET 和 C#。在注销时,我将重定向到 logout.aspx。提供登录按钮用于重新登录。
当点击重新登录时,我正在这样做。
Response.Buffer = true;
Response.StatusCode = 401;
Response.StatusDescription = "Unauthorized";
Response.AddHeader("WWW-Authenticate", "NTLM");
Response.End();
使用有效凭据可以正常工作。但是,如果他们单击取消,则不会调用 logout.aspx 的页面加载,而是显示空白页。如果我单击刷新它正在登录应用程序而不询问任何凭据。
在注销期间,我正在这样做。
protected void Page_Load(object sender, EventArgs e)
{
Page.Title = "Service Job Card - Logout";
if (!IsPostBack )
{
//Session.Abandon();
Session.RemoveAll();
Response.ClearHeaders();
Session[SessionNames.userLoggedOut] = true;
}
else if (IsPostBack && Session[SessionNames.userLoginTry] == null)
{
Session[SessionNames.userLoginTry] = true;
}
else
{
Session[SessionNames.userLoggedOut] = false;
Response.Redirect("~/Pages/Login.aspx", true);
}
}
所以在所有页面中我都在检查这个会话,如果它是假的,他将登录。
有人可以告诉我为什么在取消期间显示空白页面吗?