Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Asp.Net Core integrado ao AD

Como consigo capturar os grupos no AD de um determinado usuário? E como fazer para saber os usuários de um grupo no AD? Tem código de exemplo?

4 respostas

Quando diz AD você quer dizer Active Directory? Se sim dá uma olhada em https://social.technet.microsoft.com/wiki/contents/articles/18654.buscando-lista-de-grupo-do-ad-de-acordo-com-nome-da-rede.aspx que explica.

Salve, tudo bem? Agradeço a informação.

Mas preciso para o Asp.Net Core.

Fraternal abraço,

Haas

(...)
//via nuget: https://www.nuget.org/packages/System.DirectoryServices.AccountManagement/
using System.DirectoryServices.AccountManagement;
(...)
 PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "NOME-DO-DOMINIO");
UserPrincipal user = UserPrincipal.FindByIdentity(ctx, "NOME-DO-USUARIO");

if (user != null)
{
    PrincipalSearchResult<Principal> groups = user.GetGroups();
    foreach (GroupPrincipal g in groups)
    {
        Console.WriteLine(g.Name);
    }
}        

Assim?

solução!

Salve, tudo bem?

Sim.

Mas para funcionar fiz assim:

(...)

//via nuget: https://www.nuget.org/packages/System.DirectoryServices.AccountManagement/

using System.DirectoryServices.AccountManagement;

(...)

PrincipalContext contexto = new PrincipalContext(ContextType.Domain, "dominio");

UserPrincipal user = UserPrincipal.FindByIdentity(contexto, UserPrincipal.Current.Name);

        if (user != null)
        {
            var groups = user.GetAuthorizationGroups();
            foreach (GroupPrincipal group in groups)
            {
                //
            }
        }