[解決済み] FormsAuthentication.SignOut()がユーザーをログアウトしない
2022-05-10 08:44:44
質問
少し長い間、これに頭を打ち付けていました。FormsAuthentication.SignOutを使用してログアウトした後、ユーザーがサイトのページを参照するのを防ぐにはどうすればよいですか?私は、これがそれを行うことを期待します。
FormsAuthentication.SignOut();
Session.Abandon();
FormsAuthentication.RedirectToLoginPage();
でもダメなんです。URLを直接入力しても、そのページを閲覧することはできるんです。しばらくロールユアオウンセキュリティを使っていなかったので、なぜこれが機能しないのか忘れてしまいました。
どのように解決するのですか?
を呼び出すとCookieがクリアされないので、ユーザーはまだウェブサイトを閲覧することができます。
FormsAuthentication.SignOut()
を呼び出したときにクッキーがクリアされず、新しいリクエストのたびに認証されるためです。MSのドキュメントでは、クッキーはクリアされると書いてありますが、クリアされません、バグですか?
と全く同じです。
Session.Abandon()
クッキーはそのままです。
コードをこのように変更する必要があります。
FormsAuthentication.SignOut();
Session.Abandon();
// clear authentication cookie
HttpCookie cookie1 = new HttpCookie(FormsAuthentication.FormsCookieName, "");
cookie1.Expires = DateTime.Now.AddYears(-1);
Response.Cookies.Add(cookie1);
// clear session cookie (not necessary for your current problem but i would recommend you do it anyway)
SessionStateSection sessionStateSection = (SessionStateSection)WebConfigurationManager.GetSection("system.web/sessionState");
HttpCookie cookie2 = new HttpCookie(sessionStateSection.CookieName, "");
cookie2.Expires = DateTime.Now.AddYears(-1);
Response.Cookies.Add(cookie2);
FormsAuthentication.RedirectToLoginPage();
HttpCookie
が入っています。
System.Web
の名前空間を使用します。
MSDNリファレンス
.
関連
-
ASP.NET学習でよくあるエラーのまとめ
-
[解決済み] Could not find a part of the path ... binroslyncsc.exe
-
名前 'xxx' が現在のコンテキストに存在しない エラー解決方法の1つ
-
[解決済み] Server Error in '/' Application」エラーの解決方法を教えてください。
-
[解決済み] フォルダが存在しない場合、作成する
-
[解決済み] Razor View Page で名前空間をインポートするにはどうしたらいいですか?
-
[解決済み] リクエストは中断されました。SSL/TLSセキュアチャネルを作成できませんでした
-
[解決済み】ASP.NET MVCで現在のユーザーを取得する方法
-
[解決済み] Log4netがログファイルにログを書き込まない
-
[解決済み] IIS7.5とASP.NET v2によるWebアプリケーションの問題(web.configエラー)HTTP 500.19
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
.NET Coreでオブジェクトプールを使用する
-
30分でわかるコング経由の.NETゲートウェイ
-
ASP.NET Core Web API チュートリアル プロジェクト構成図
-
Application_End イベントをブロックする解決策
-
一時的なクラスを生成できない(result=1)、問題の解決方法
-
[解決済み] web.configでmaxJsonLengthの長さを無制限に設定することは可能ですか?
-
[解決済み】ASP.NETのWebサイト全体のブラウザキャッシュを無効にする
-
[解決済み】ASP.NET web.config: configSourceとファイル属性の比較
-
[解決済み] Visual Studio 新しいブラウザを開けない
-
[解決済み] FormsAuthentication.SignOut()がユーザーをログアウトしない