ASP.NET と C# を Windows 認証とログアウト オプションで使用しています。ログアウト時に、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);
}
}
したがって、すべてのページでこのセッションをチェックしています。false の場合、彼はログインします。
キャンセル時に空のページが表示される理由を誰か教えてもらえますか?