2
respostas

Pegar Usuário logado no AD

Gostaria de uma ajuda para uma API em C# publicada no IIS. Como faço para pegar o usuário que está logado no Windows na rede?

Já tentei

filter.LoginRede = System.Security.Principal.WindowsIdentity.GetCurrent().Name.ToString(); //Environment.UserName;
`

Porém no IIS ele pega o usuário da máquina do servidor. Podem me ajudar?

2 respostas

Olá, Vinícius

Nunca trabalhei com Active Directory, mas pelo que pesquisei você pode tentar uma dessas 4 formas:

1. filter.LoginRede = new System.Security.Principal.WindowsPrincipal(System.Security.Principal.WindowsIdentity.GetCurrent()).Identity.Name;

ou

2. filter.LoginRede = System.Environment.UserName

ou

3. filter.LoginRede = Environment.GetEnvironmentVariable("USERNAME");

ou

4. filter.LoginRede = System.Security.Principal.WindowsIdentity.GetCurrent().Name;

Dessa forma eu pego o usuário logado no momento que a API está local, porém quando subo para o IIS ele me trás o nome da Pool.

Dessas formas já tentei :/