2010-09-13 8 views
2

J'ai configuré un intranet en utilisant l'authentification basée sur les revendications et un site Internet en utilisant des formulaires étendu à base d'authentification dans SP 2010Connectez-vous à l'aide de l'authentification des formulaires dans SP2010

Tout est mis en place et travailler à l'exception de vous déconnecter ...

J'ai un contrôle loginstatus dans lequel j'ai placé un linkbutton dans le template connecté. Lorsque je clique sur le bouton pour vous déconnecter, j'ai utilisé:

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

Et une redirection personnalisée. ~ Cependant, lorsque je suis redirigé vers ma page d'accueil, le système dit toujours que je me suis connecté et que je navigue sur le site. Sinon, comment puis-je forcer une déconnexion?

Répondre

2

See this post by Sanjay Bhagia

loginStatus.LoggingOut += new LoginCancelEventHandler(loginStatus_LoggingOut); 

et événement de fermeture de session, j'ai utilisé ce code pour déconnecter l'utilisateur.

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

comme, les revendications, l'utilisateur non authentifié avec FormsAuthentication plus plutôt avec authentification fédérée, donc nous avons besoin de vous déconnecter cet utilisateur de la Fédération. Ce morceau de code a fonctionné pour moi!