2011-07-08 18 views
12

Estamos utilizando un botón ASP.NET del cliente para cerrar sesión de nuestra aplicación web que usa ADFS para la autenticación. Hemos intentado varias opciones para intentar que la aplicación se cierre correctamente, pero parece que nada funciona.ADFS 2.0 Firma de la aplicación web

En general, lo lleva a la página de registro en el servidor de federación que dice que se ha cerrado la sesión correctamente, pero si devuelve el golpe, puede acceder a la aplicación web.

intentado: https: // {DNS_name_of_RP_STS} /adfs/ls/?wa=wsignout1.0

https: // {DNS_name_of_RP_STS} /adfs/ls/?wa=wsignout1.0 & Wreply = {post-sign-out_landing_URL} etc

¿Alguien ha conseguido que esto funcione correctamente?

Gracias por su tiempo

Respuesta

8

Como entiendo que acaba de redirigir al usuario a la AD FS con la acción wssignout apropiado. Esto no eliminará la cookie de autenticación creada para su aplicación, por lo que el usuario permanecerá conectado.

uso el WSFederationAuthenticationModule para desencadenar signout federado:

string absoluteUrl = HttpContext.Request.Url.AbsoluteUri; 
string replyUrl = absoluteUrl.Substring(0, absoluteUrl.LastIndexOf("/") + 1); 
WSFederationAuthenticationModule.FederatedSignOut(null, new Uri(replyUrl)); 

estoy responder de nuevo a la aplicación porque quiero estar seguro de que el usuario está suscrito a cabo.

Espero que esto ayude.

+0

Muchas gracias. Agregué el código en el evento onclick del botón de enlace para mi cierre de sesión y funciona para mí – Miller

+0

¿Cómo agregar WSFederationAuthenticationModule en web.config? –

+0

Debe agregarlo en la colección de módulos en '' o ''. Si no está seguro, agréguela en ambos lugares. Aquí está un ejemplo '' Usted puede encontrar más información en: http://goo.gl/iY8Dgv – shizik

1

Para mis aplicaciones, el uso de la URL "? Wa = wsignout1.0" borra las cookies de la aplicación FedAuth y las cookies MSSAuth de ADFS.

Usted termina en la página "Ha cerrado la sesión".

A partir de ahí, el botón Atrás lo lleva de regreso a la aplicación, pero si intenta y hace algo, se le redirige a ADFS para iniciar sesión nuevamente.

0

Nosotros también tuvimos un problema similar. La solución que funcionó para nosotros recomendó agregar un Endpoint en la confianza de la parte dependiente en la consola de administración de ADFS 2.0. Por favor, siga los siguientes pasos:

  1. añadir la URL signout en la configuración de Google (Avanzado) -> SSO -

    cerrar la sesión url = https: // {}/DNS_name_of_RP_STS adfs/ls /?wa=wsignout1.0

  2. Vaya a la consola de administración de AD FS 2.0 . En la pestaña Criterios de valoración, haga clic en Agregar

  3. tipo de punto final = SAML Salir, Encuadernación = POST, URL = https://myadfsserver.domain.net/adfs/ls/?wa=wsignout1.0 Se puede establecer una URL de respuesta si desea que se redirija a otra página, pero nos gusta el sitio AD FS ya que advierte que ha cerrado la sesión, pero aún debe cerrar su navegador.

Cuestiones relacionadas