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 WindowsIdentity
sin 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:
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í:
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.
fuente