1

クレーム ベース認証を使用して、Sharepoint 2010 でカスタム ログインを使用しています。ユーザー認証は正常に機能しますが、カスタム サインアウト方法は機能しません。いくつかの解決策を試しましたが、認証 Cookie (フェデレーション) が残っています。なんで?

これは機能しません:

FormsAuthentication.SignOut();

これではない:

FederatedAuthentication.SessionAuthenticationModule.SignOut();
FederatedAuthentication.SessionAuthenticationModule.DeleteSessionTokenCookie();

これもありません:

var authCookie = Request.Cookies[FormsAuthentication.FormsCookieName];
if (authCookie != null)
{
    HttpCookie cookie = new HttpCookie(authCookie.Name);
    cookie.Expires = DateTime.Now.AddDays(-1d);
    cookie.Domain = domain;
    Response.Cookies.Add(cookie);
}

FedAuth Cookie を削除するにはどうすればよいですか? 私の Cookie は永続的ではありません。認証 Cookie を削除する唯一の方法は、ブラウザで手動で削除するか、閉じることです。

4

1 に答える 1

1

WIFを使用しているときに、これに問題がありました。あなたの SharePoint 実装が WIF を使用しているかどうかはわかりませんが、使用している場合は、これが役立つ代替方法です。

WSFederationAuthenticationModule authModule = FederatedAuthentication.WSFederationAuthenticationModule;
                string signoutUrl = (WSFederationAuthenticationModule.GetFederationPassiveSignOutUrl(authModule.Issuer, authModule.Realm, null));
                Response.Redirect(signoutUrl);
于 2013-05-17T17:07:30.770 に答える