Eu tenho um aplicativo ASP.NET Core 3.0 que funciona com a autenticação local do Windows na intranet para identificar usuários conectados. Usando os comportamentos padrão de autenticação do Windows, sou capaz de capturar o usuário WindowsIdentity
sem problemas.
No entanto, dependendo de como o usuário está conectado ao navegador usando o login automático do navegador da Intranet (ou seja, sem caixa de diálogo de senha) ou fazendo o login explicitamente usando a caixa de diálogo Senha do navegador, eu recebo resultados diferentes para os grupos de usuários .
A seguir, é apresentada uma solicitação de API que faz eco das informações do usuário, incluindo uma lista de membros do grupo filtrada (que exclui contas internas). O da esquerda é um login manual, o da direita, um login automático.
Para o login explícito, vejo corretamente todos os grupos personalizados dos quais o usuário faz parte. No entanto, para o login automático, esses mesmos grupos não aparecem:
Também examinei atentamente as instâncias de Usuário e Identidade no servidor, e ele está fazendo referência exatamente aos mesmos SIDs para o usuário, por isso parece estranho que resultados diferentes estejam sendo retornados para a Associação ao Grupo.
Alguma idéia de por que a lista de grupos é diferente quando estou recebendo a mesma conta? Observe que os grupos são locais, por isso não deve ser um problema devido ao acesso ao domínio.
Nota: Estou testando localmente no localhost mesmo e, para testar isso, defino as Configurações de Proxy do Windows aqui:
Com as caixas de seleção desativadas, sou forçado a fazer login. Com eles ativados (nos navegadores Chromium de qualquer maneira), tenho que inserir explicitamente minhas credenciais na caixa de diálogo de login do navegador.