2012-02-07 29 views
5

La configuración es: ADFS 2.0 como IdP (se admiten WS-Federation y SAML 2.0), aplicación ASP.NET como proveedor de servicios. Cuando SPS solicita ADFS con el estándar WS-Federation (se usa WIF), me permite iniciar sesión automáticamente en ADFS sin ventana emergente de inicio de sesión, incluso si se inició una nueva sesión, de modo que el token de Kerberos funciona bien como se esperaba. Sin embargo, en el caso de SAML 2.0 (se usa ComponentSpace.SAML.2 lib) cada vez que abro IE9 y me redireccionan a ADFS, se me pide que ingrese las credenciales de mi dominio de Windows en una pequeña ventana emergente de inicio de sesión estándar. ¿Hay algún parámetro de SAML 2.0 u otra técnica que me permita deshacerme de esta ventana, como en el caso de WS-Fed? GraciasSSO transparente con SAML (IE, SAML 2.0, ADFS, autenticación Kerberos)

+0

¿Qué ofrece el soporte SAML dentro de su RP? ¿Estás usando WIF o qué? – nzpcmad

+0

La biblioteca ComponentSpace.SAML.2 se utiliza para redirigir al usuario a ADFS 2.0, del mismo modo que lo hace en muestras proporcionadas con la biblioteca. Se usa el protocolo POST – YMC

Respuesta

7

adfsserver.us.mycompanyname.com/adfs/ls está en la zona de Internet y el inicio de sesión automático no se realizará.

adfsserver/adfs/ls está en su zona de Intranet en IE y se conectará automáticamente.

Puede agregar adfsserver.us.mycompanyname.com a su lista de sitios de confianza (o zona de Intranet) y no se le deben pedir las credenciales.

1

Probar: urn:federation:authentication:windows en lugar de: urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport en esta parte de la solicitud de autenticación SAML 2.0:

<saml:AuthnContextClassRef xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">urn:federation:authentication:windows</saml:AuthnContextClassRef>

+0

Desafortunadamente no puedo encontrar una manera de hacerlo con Component Space SAML v.2. Hay un objeto AuthnRequest que se utiliza para formar la solicitud de autenticación SAML 2.0, pero no hay nada sobre esta referencia de clase de autenticación dentro de ella. – YMC

1

no es una respuesta, es más bien actualizar a mi pregunta, pero es importante y decidí para ponerlo como una respuesta para atraer más atención a él. Lo que descubrí jugando con los parámetros de SAML durante algunos días es que parece no depender del protocolo (WS-Federation/SAML2). Lo que realmente depende es el nombre de dominio del servidor adfs largo/corto, por lo que la solicitud de autenticación como https://adfsserver.us.mycompanyname.com/adfs/ls hace que aparezca esta ventana, mientras que https://adfsserver/adfs/ls no. Sin embargo, no puedo usar el nombre de dominio corto para SAML 2.0, recibo un error en el caso: "MSIS1006: el extremo pasivo configurado 'https://adfsserver.us.mycompanyname.com/adfs/ls/' no es un prefijo del mensaje SAML entrante URI de destino 'https: // adfsserver/adfs/ls /' ". Por cierto, usamos SSO solo en nuestra intranet local, así que no sé por qué se produce esta excepción. Cualquier solución?

2

Puede cambiar el servidor de punto final pasiva siguiendo los pasos mencionados a continuación:

http://breakingdevelopment.blogspot.in/2012/12/adfs-msis1006-i-am-working-on-sso.html

  1. abierto AD FS 2.0 Service Manager
  2. seleccione "Editar propiedades del servicio de federación de ..." en la esquina superior derecha. Esto muestra la ventana Propiedades del servicio de federación
  3. Cambie el identificador de servicio de federación para que coincida con la URL del proveedor de identidades (IdPURL) que se transfirió desde la aplicación SSO.