2012-10-13 2 views
0

J'ai créé une application MVC 4 dans .net 4.5 et installé l'outil Identité et accès afin de pouvoir créer une application compatible avec les revendications. J'ai configuré l'application pour qu'elle utilise le nouveau LocalSTS fourni avec 2012, de sorte qu'elle ne crée pas de site Web STS comme en 2010.Revendications Aware MVC App en 2012 - Déconnexion

Comment puis-je prendre en charge un scénario de déconnexion dans mon application? Y at-il une méthode que je peux appeler comme FormsAuthentication.SignOut?

Répondre

0

Il est vraiment facile, il suffit d'appeler la méthode SignOut sur la WSFederationAuthenticationModule:

FederatedAuthentication.WSFederationAuthenticationModule.SignOut("/MyPostSignoutRedirectUrl"); 
0

Pour traiter une connexion sur demande, procédez comme suit:

  1. Après avoir cliqué sur le Sign- sur le lien, effacez le cookie de fédération: System.Web.HttpContext.Current.Response.Cookies.Remove (stateKey);

  2. rediriger le navigateur vers l'émetteur simulé avec un paramètre de déconnexion WS-Federation comme l'action:

https://RelyingParty/SsoLogout.aspx?wa=wsignout1.0&wreply=...

Le WS-Federation commande wa = wsignout1.0 est utilisé pour déconnecter de l'émetteur.

  1. récupérer la liste des points de réception du cookie et envoyer le signe-out de commande de nettoyage pour chacun d'entre eux:
 https://RelyingParty1/SsoLogout.aspx?wa=wsignoutcleanup1.0,
https://RelyingParty2/SsoLogout.aspx?wa= wsignoutcleanup1.0,
https://RelyingParty3/SsoLogout.aspx?wa= wsignoutcleanup1.0

Cela permet à tous les compter les parties à effectuer l'opération de déconnexion.

IT Works comme suit:

Les wsignout1.0 et les actions wsignoutcleanup1.0 définies dans le paramètre wa GET sont bien compris en se basant les parties qui adhèrent à la Fédération WS-passif Profil Requestor. Ces actions permettent une opération de déconnexion de tous les PR du domaine.

0

Qu'en est-il de la modification des cookies persistants et à la fin de la session de clics ou de la session expirent les cookies de FedAuth?

persistants sur RP Cookies:

<microsoft.identityModel> 
     <federatedAuthentication> 
     <wsFederation 
      persistentCookiesOnPassiveRedirects="true" /> 
     <cookieHandler 
      persistentSessionLifetime="60.0:0:0" /> 
     </federatedAuthentication> 
</microsoft.identityModel> 

Et les cookies Expirez

var c = Request.Cookies["FedAuth"]; 
    c.Expires = DateTime.Now.AddDays(-1); 
    Response.Cookies.Add(c); 

    c = Request.Cookies["FedAuth1"]; 
    c.Expires = DateTime.Now.AddDays(-1); 
    Response.Cookies.Add(c); 

Vous devrez rediriger après.

Questions connexes