2010-09-13 44 views
2

使用窗體身份驗證我已經配置在SP使用基於聲明的身份驗證和使用的形式擴展互聯網網站的身份驗證2010註銷在SP2010

所有設置和除註銷工作

內部網...

我有一個loginstatus控件,我已經在登錄模板中放置了一個linkbutton。 當我點擊按鈕退出,我用:

Session.Abandon(); 
     Response.Cookies.Clear(); 
     FormsAuthentication.SignOut(); 

和一個自定義的重定向。 〜但是,當我重定向到我的主頁時,系統仍然說Im登錄並且我在該站點周圍導航。我還要如何強制註銷?

回答

2

See this post by Sanjay Bhagia

loginStatus.LoggingOut += new LoginCancelEventHandler(loginStatus_LoggingOut); 

和在註銷事件,我使用此代碼註銷用戶。

FederatedAuthentication.SessionAuthenticationModule.SignOut(); 
//WSFederationAuthenticationModule.FederatedSignOut(); 
WSFederationAuthenticationModule authModule = FederatedAuthentication.WSFederationAuthenticationModule; 
SPUtility.Redirect(WSFederationAuthenticationModule.GetFederationPassiveSignOutUrl(authModule.Issuer, authModule.Realm, null), SPRedirectFlags.Default, HttpContext.Current); 

爲,並索賠,用戶不與FormsAuthentication了,而與聯合驗證驗證,所以我們需要登出聯合會這個用戶。這段代碼適合我!