Cómo implementar el inicio de sesión único en diferentes versiones de .net
Después de investigar y reescribir, implementé un método simple que puede implementar el inicio de sesión único en diferentes versiones de red. Ahora me gustaría compartirlo con ustedes. Espero que me perdonen por las deficiencias.
El llamado inicio de sesión único (el inicio de sesión único significa que en múltiples sistemas de aplicaciones, los usuarios solo necesitan iniciar sesión una vez para acceder a todos los sistemas de aplicaciones de confianza mutua. De hecho, para que los programadores lo implementen técnicamente. es el problema de compartir cookies entre múltiples nombres de dominio diferentes
Recientemente, agregué un subproyecto para ERP que se implementó en otra máquina y se vinculó al antiguo sistema original al que llamé Iniciar sesión. El antiguo proyecto original para implementar el inicio de sesión único lo intenté N veces pero fallé y finalmente decidí. El problema es que existen diferencias en los métodos de cifrado/descifrado de cookies entre la red y China. que puede lograr el inicio de sesión único en diferentes versiones de red.
***Utilice el código de la página de inicio de sesión. El código para implementar el código de copia es el siguiente: protected void btnLogin_Click(object sender EventArgs e) { / / ¿La facturación de autenticación salta a la página de solicitud original? Sistema Seguridad web FormsAuthentication RedirectFromLoginPage("ejiyuan" false); }
Copia del archivo de configuración El código es el siguiente:
Los dos atributos más importantes del nodo de autenticación/formularios aquí son el nombre y la protección. Todas las implementaciones de proyectos de inicio de sesión único deben tener la misma configuración, de modo que. Las cookies se pueden leer y escribir bajo el mismo nivel de protección en diferentes programas. Cuando el atributo de protección está configurado en "Todos", el cifrado y la verificación se realizan a través de valores Hash. Los datos se almacenan en la cookie. y el cifrado se almacenan en el archivo de configuración de la máquina. Podemos anular estos valores en el archivo de configuración web de la aplicación. Los valores predeterminados son los siguientes:
IsolateApps significa generar una clave diferente para cada aplicación. No podemos usar esta.
Para utilizar la misma clave para cifrar y descifrar cookies en múltiples aplicaciones, podemos eliminar la opción IsolateApps o mejor aún, establecer un valor de clave específico en la configuración web de todas las aplicaciones que necesitan implementar SSO:
Si usa el mismo método de almacenamiento para implementar SSO, simplemente cambie la configuración web. Debe asegurarse de que cada aplicación en el punto único tenga la misma configuración. Si la aplicación de inicio de sesión único se encuentra en diferentes versiones de red, no utilice cifrado/descifrado aquí. md
El inicio de sesión único sin una página de inicio de sesión no requiere la configuración directa del código. La configuración es la siguiente. Copie el código y el código es el siguiente: equest Url OriginalString); } } public void Dispose() { // throw new NotImplementedException(); /net /201311/14109