ユーザー認証を有効にするために、プロジェクトにいくつかのコードをラップしました。FormsAuthentication
と同様に使用しているよう.NetCasAuthentication
です。ユーザーがログインしようとすると、URL が に保存され
ている外部ページにユーザーをリダイレクトし、DotNetCasClient.CasAuthentication.FormsLoginUrl
ログイン試行が成功すると、User.Identity
オブジェクトが設定されます。ここまでは順調ですね。
では、ユーザーを適切にサインアウトするにはどうすればよいでしょうか。
私はもう試した
FormsAuthentication.SignOut()
- ここで提案されているように、いくつかの Cookie を期限切れにする
- さらに、User オブジェクトを明示的に無効にします。
HttpContext.Current.User = new GenericPrincipal(new GenericIdentity(string.Empty), null);
しかし、アプリケーションに別のリクエストを送信すると、そのユーザーの情報をどこかで見つけることができます。
CasAuthentication は Cookie に保存されますか? それとも、外部ログイン ページで定義されている固有の場所にある可能性が高いですか? 対応する外部ログアウト ページにリダイレクトするオプションがありますが、そのページにリダイレクトしてアプリケーションを終了せずにそれを行う方法がわかりません。また、そうしたくありません。
読んでくれてありがとう。