Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lui_zito

Active Directory

Recommended Posts

SenhoresEstou fazendo uma aplicação em C# e gostaria de saber quais grupos o usuário faz parte.Informo o Dominio/Usuário e a rotina me devolve os grupos que o mesmo faz parte.Alguém sabe como faz ? Valeu !

Compartilhar este post


Link para o post
Compartilhar em outros sites

JulianoEsse código ajudou , mas não estou conseguindo pegar a hierarquia do grupo Com esse código eu pego os grupos em que o usuário esta cadastrado, mas não consigo ver se esse grupo é filho de outro grupoExemplo : Usuário "Luiz" pertence ao Grupo "Business Intelligence" , e "Business Intelligence" é filho de "IT". Ou seja , eu precisava fazer uma rotina pra encontrar os niveis acima ao grupo listado.Valeu !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta esse script public Boolean autenticacao(String domain, String username, String password) { String domainAndUserName = domain + @"\" + username; DirectoryEntry entry = new DirectoryEntry(path, domainAndUserName, password); try { Object obj = entry.NativeObject; DirectorySearcher search = new DirectorySearcher(entry); search.Filter = "(SAMAccountName=" + username + ")"; search.PropertiesToLoad.Add("cn"); search.PropertiesToLoad.Add("memberOf"); SearchResult result = search.FindOne(); if (result != null) { int propertyCount = result.Properties["memberOf"].Count; String dn; int equalsIndex, commaIndex; StringBuilder groupNames = new StringBuilder(); for (int propertyCounter = 0; propertyCounter < propertyCount; propertyCounter++) { dn = (String)result.Properties["memberOf"][propertyCounter]; equalsIndex = dn.IndexOf("=", 1); commaIndex = dn.IndexOf(",", 1); if (-1 == equalsIndex) { } groupNames.Append(dn.Substring((equalsIndex + 1), (commaIndex - equalsIndex) - 1)); groupNames.Append("\n"); } Console.WriteLine(groupNames.ToString()); return true; } this.path = result.Path; this.fileAttribute = (String)result.Properties["cn"][0]; } catch (Exception ex) { return false; } return false; }

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.