“Conocimiento software>Microsoft Access

¿Cómo inicia sesión de la autenticación de Windows en la aplicación ASP.NET MVC?

2013/11/20
No hay un solo comando de botón de "cierre de sesión" en ASP.NET MVC que maneja mágicamente el inicio de sesión de autenticación de Windows. La autenticación de Windows se maneja en el sistema operativo y el nivel IIS, no solo dentro de su aplicación. Su aplicación debe indicarle al navegador y al IIS para finalizar la sesión autenticada. Aquí están los enfoques comunes:

1. Autenticación de formularios (más simple, recomendado si es posible):

Si tiene * alguna * flexibilidad en su configuración, la solución más fácil y limpia es cambiar a formar autenticación . La autenticación de Windows es inflexible y es estrechamente acoplada a la administración de usuarios del servidor. La autenticación de formularios le permite administrar cuentas de usuario dentro de su aplicación y proporciona un mecanismo de cierre de sesión sencillo. Luego, un simple `FormSauthentication.signout ()` en su acción del controlador manejará el cierre de sesión.

`` `csharp

[Httppost]

Public ActionResult Logoff ()

{

FormSauthentication.signout ();

return redirectToAction ("índice", "inicio"); // redirigir a su página de inicio

}

`` `` ``

2. Forzar una nueva solicitud (autenticación de Windows):

Si * debe * usar la autenticación de Windows, debe activar una nueva solicitud que forzará una reautenticación (o falta de ella). No hay comando directo de "cierre de sesión"; Básicamente estás destruyendo la cookie de la sesión:

* redirigir a una URL especial: Cree una acción del controlador que no requiere autenticación. Esta acción no hace nada excepto redirigir. La parte importante es que esta redirección borrará la cookie de autenticación existente. El navegador enviará una nueva solicitud, y IIS reconocerá que no hay una sesión válida.

`` `csharp

[DESONTANONYMOUS] // ¡Esto es crucial! Permite el acceso sin autenticación

Public ActionResult Logoff ()

{

return redirect ("/"); // o a cualquier URL que no requiera autenticación

}

`` `` ``

* Clear Cookies (JavaScript del lado del cliente - menos confiable): Este enfoque generalmente es menos preferido porque se basa en acciones del lado del cliente y podría no siempre funcionar de manera confiable entre los navegadores:

`` `JavaScript

document.cookie ="asp.net_sessionID =; expires =thu, 01 de enero de 1970 00:00:00 utc; path =/;";

// Potencialmente necesita líneas adicionales para eliminar otras cookies de autenticación específicas para su configuración.

window.location.href ="/logoff"; // redirigir a su acción de registro

`` `` ``

Consideraciones importantes con la autenticación de Windows:

* Configuración de IIS: Asegúrese de que la configuración IIS de su aplicación esté configurada correctamente para la autenticación de Windows.

* Gestión de la sesión: La autenticación de Windows a menudo se basa en la administración de la sesión del servidor (estado de sesión IIS). El método de redirección anterior finaliza efectivamente la sesión forzando una nueva solicitud sin una cookie de autenticación.

* Múltiples cookies: Dependiendo de su configuración, puede haber varias cookies relacionadas con la autenticación. Es posible que deba borrar aquellos explícitamente (aunque el método de redirección generalmente es suficiente).

* Kerberos: Si Kerberos está involucrado (común en entornos empresariales), el proceso de cierre de sesión podría ser más complejo, ya que los boletos de Kerberos tienen su propio ciclo de vida y gestión.

Recomendación:

Considere seriamente cambiar a la autenticación de formularios si tiene algún control sobre su proyecto. Es mucho más simple administrar las sesiones de usuario y el cierre de sesión. Manejar el inicio de sesión de la autenticación de Windows es inherentemente más complejo y menos confiable. Los enfoques anteriores funcionan, pero confían en métodos indirectos para finalizar la sesión de Windows. Siempre pruebe completamente en diferentes navegadores.

Microsoft Access
Cómo mostrar los cambios porcentuales en Microsoft Excel
Cómo imprimir en una página en Excel 2003
Cómo tener celdas en Excel Tenga cabecera en varias páginas
Cómo descomponer un texto en Excel
Cómo hacer el texto a través de imágenes con Microsoft Excel
Cómo utilizar Excel para Correlación
Cómo eliminar decimales sin redondear en Microsoft Excel
Cómo hacer líneas de división de impresión en Microsoft Excel Spreadsheets 2007
Conocimiento de la computadora © http://www.ordenador.online