2009-09-02 21 views
5

El cliente necesita aplicaciones importantes para proporcionar a los usuarios la función de autenticación de inicio de sesión único basada en la solución corporativa (Active Directory). Esto significa que la aplicación comercial confía en las credenciales proporcionadas por el navegador y no solicita al usuario que proporcione un par de inicio de sesión/contraseña estándar. La confianza del servidor/navegador se basa en el mecanismo de Autenticación integrada de Windows.Inicio de sesión único con la aplicación web ASP.Net

Nuestra es una aplicación web ASP.Net en dot net framework 2.0 alojada en IIS 5. Tenemos que implementar la función SSO. ¿Cómo lo hacemos?

Respuesta

4

Estoy bastante seguro de que estos son los mismos requisitos que siguen casi todas las aplicaciones de intranet.

Si acaba de habilitar los inicios de sesión integrados de Windows en IIS, se establecerá para el elemento n. ° 1.

No sé si el # 2 es incluso posible, porque entra en conflicto con su otro requisito. El navegador solo pasa las credenciales del usuario conectado localmente (como lo requiere el n. ° 1). Si creó un formulario web para autenticarse a través de AD, entonces estaría en violación de los requisitos enumerados en su narración/párrafo.

¿Qué piensan sus clientes que realmente significa # 2? ¿Qué es lo que quieren aquí? ¿Una forma de iniciar sesión como un usuario diferente? Pueden simplemente cerrar sesión en la computadora e iniciar sesión como el otro usuario.

1

En general, los requisitos de SSO se resuelven mejor mediante protocolos basados ​​en notificaciones como WS-Federation o SAML 2.0. En principio, usted mismo puede implementar estos protocolos, ya que son estándares abiertos, pero requieren de muchos conocimientos especializados.

La nueva Windows Identity Foundation (anteriormente conocida como Geneva framework) contiene implementaciones de protocolo que pueden habilitar escenarios de SSO, aunque requerirá que actualice su plataforma.

1

Use la autenticación de formularios personalizados que no le pedirá al usuario que ingrese la identificación y la contraseña.

Requisitos: 1> tabla de base de datos que tenga detalles de usuario, tales como correo electrónico, papel, etc 2> Empresa directorio activo, donde los perfiles de usuario se almacenan 3> Escribir un VBCOM o ActiveX u otros componentes que pueden leer el dominio del usuario y el nombre de la máquina de Windows a través del navegador.

Pasos: En la carga de la página para todos los formularios, llame al componente < 3> para conectarse a Active Directory < 2>. Ese método debe leer el nombre del usuario actual, el dominio del sistema de Windows. Buscar AD con estos detalles. Si existe, consulta y extrae la dirección de correo electrónico o la que sea la clave única en el perfil de usuario de AD. Usando esta consulta de clave, la base de datos < 1> donde almacenó detalles de usuario específicos de la aplicación, tales como correo electrónico, roles. Si el correo electrónico del usuario de AD coincide con el correo electrónico en la Tabla, conceda al usuario los derechos apropiados, de lo contrario, denegar el acceso si el usuario no existe o la función es nula/restringida. Si es un usuario válido, cree una cookie que esté encriptada y pueda ser leída por otras aplicaciones para realmente implementar cualquier tipo de SSO.

Cuestiones relacionadas