lui_zito 0 Denunciar post Postado Agosto 30, 2006 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
Juliano.net 2 Denunciar post Postado Agosto 30, 2006 Veja se isto te ajuda: http://www.codeproject.com/dotnet/usergroupmembership.asp Compartilhar este post Link para o post Compartilhar em outros sites
lui_zito 0 Denunciar post Postado Agosto 30, 2006 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
sublyer 0 Denunciar post Postado Agosto 29, 2007 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