Esta solución es muy válida en entornos corporativos donde se centraliza la información de seguridad en el Active Directory de Windows. Sin embargo, para aplicaciones que afecten a múltiples organizaciones o que tengan una seguridad propia no es apropiado.
En este artículo veremos como activar el single sign on entre dos aplicaciones .Net para que cualquiera de ellas pueda autenticar un usuario, de manera que cuando un usuario ya se haya identificado en una de ellas, no se le vuelva a solicitar la contraseña al acceder a la otra.
El video siguiente muestra el resultado final del proceso, de manera que se puede comprobar cómo autenticándonos en una de las aplicaciones, automáticamente hacemos login en la otra.
Configuración del SSO
El método consiste, básicamente, en utilizar las mismas claves de máquina (machine key) para que las cookies de sesión se compartan entre aplicaciones.
En primer lugar debemos generar una clave única para la primera aplicación (o simplemente ir a la configuración de IIS y copiar la clave actual de dicha aplicación y la clave de encriptación.
Seguidamente iremos a la configuración de Claves de equipo (Machine Key) en el otro servidor web y copiaremos las claves de Máquina y de encriptación que copiamos del proyecto anterior.
Éste procedimiento se puede realizar también mediante la configuración directa de los archivos web.config de cada una de las aplicaciones.
Por último, debemos configurar que los formularios de login guarden la información con el mismo nombre de cookie, para ello modificaremos la línea <forms> del archivo web.config para asignar un nombre de cookie.
<forms loginUrl="~/LoginForm.aspx" protection="All" timeout="120" name="miNombreCookie"/>
Otros artículos SSO en Atlas SBI
Enlaces sobre Machine Key y SSO en .Net
- Single Sign-on in ASP.NET and Other Platforms - CodeProject
- How To: Configure MachineKey in ASP.NET 2.0 | Microsoft Docs
- Setting up a machine key - Orchard Documentation
- How to configure an ASP .NET OWIN identity on multiple projects | The ASP.NET Forums
- How can I enable single sign-on (SSO) with another Microsoft .net-based website? - User Documentation - Telligent Community 10.x - Telligent Community
0 comentarios :
Publicar un comentario