Autenticación de Windows en ASP.NET Core: inicio de sesión manual frente a inicio de sesión en intranet automático y grupos disponibles


9

Tengo una aplicación ASP.NET Core 3.0 que funciona con la autenticación de Windows Intranet local para identificar a los usuarios registrados. Utilizando los comportamientos de autenticación estándar de Windows, puedo capturar al usuario WindowsIdentitysin problemas.

Sin embargo, dependiendo de cómo el usuario inicie sesión en el navegador usando el inicio de sesión automático del navegador de Intranet (es decir, sin diálogo de contraseña) o iniciando sesión explícitamente usando el cuadro de diálogo Contraseña del navegador, obtengo resultados diferentes para los grupos de usuarios .

La siguiente es una solicitud de API que recupera la información del usuario, incluida una lista de miembros del grupo filtrada (que excluye las cuentas integradas). El de la izquierda es un inicio de sesión manual, el de la derecha un inicio de sesión automático.

Para el inicio de sesión explícito, veo correctamente todos los grupos personalizados de los que forma parte el usuario. Sin embargo, para el inicio de sesión automático, esos mismos grupos no aparecen:

diferencias grupales para inicio de sesión manual vs.

También examiné de cerca las instancias de Usuario e Identidad en el servidor, y hace referencia a los mismos SID exactos para el usuario, por lo que parece extraño que se devuelvan resultados diferentes para la Membresía de Grupo.

¿Alguna idea de por qué la lista de grupos es diferente cuando recibo la misma cuenta? Tenga en cuenta que los grupos son locales, por lo que no debería ser un problema debido al acceso al dominio.

Nota: Estoy probando localmente en localhost incluso, y para probar esto configuré la Configuración de Proxy de Windows aquí:

Configuración de inicio de sesión

Con las casillas de verificación desactivadas, me veo obligado a iniciar sesión. Con ellos activados (en los navegadores Chromium de todos modos) tengo que ingresar explícitamente mis credenciales en el cuadro de diálogo de inicio de sesión del navegador.

Respuestas:


9

¿Se ha desconectado el usuario de su computadora desde que se agregó a esos grupos?

Los grupos enumerados se mantienen en el token de inicio de sesión del usuario. Creo que lo que podría estar sucediendo es que el inicio de sesión automático envía el token de inicio de sesión existente del usuario (creado cuando iniciaron sesión en Windows), por lo que no contendría ningún grupo al que se les haya agregado desde la última vez que iniciaron sesión.

Ingresar manualmente el nombre de usuario y la contraseña realiza un nuevo inicio de sesión y, por lo tanto, obtiene un token nuevo con todos los grupos en el momento del inicio de sesión. Entonces nuevos grupos aparecerán allí.


1
Después de una verificación adicional, resulta que tienes toda la razón. Inicialmente pensé que había reiniciado la máquina desde que aparecieron los problemas, pero después de forzar el cierre de sesión y el inicio de sesión, descubrí que, de hecho, después de iniciar sesión nuevamente pude ver a los grupos. Gracias, tan obvio en retrospectiva pero aún así tan fácil de pasar por alto.
Rick Strahl el
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.