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