Próbuję użyć GroupPrincipal
(część obszaru nazw), aby zapełnić listę typu ciąg znaków, dzięki czemu mogę sprawdzić, czy użytkownik jest członkiem grupy Active Directory. Oto edytowana klasa, którą napisałem do tej pory:Członkostwo w grupach Active Directory GroupPrincipal
public class ActiveDirectoryMembership
{
private PrincipalContext context = new PrincipalContext(ContextType.Domain, Environment.UserDomainName);
private List<string> GroupName {get;set;}
public ActiveDirectoryMembership()
{
//Code snipped - this part returns a list of users
populateGroups();
}
private void populateGroups()
{
GroupPrincipal SearchGroup = GroupPrincipal.FindByIdentity(context, "Group Name");
GroupName = new List<string>();
foreach (UserPrincipal p in GroupName.GetMembers())
{
GroupName.add(p.SamAccountName);
}
}
Więc, gdzie się mylę?
góry dzięki :)
Co widzisz, co masz oczekują ** ** zobaczyć? ?? –
Matt to nie jest prawdziwe pytanie, jak działa ten kod? Jakie wyniki otrzymujesz? Jak zachowuje się w czasie debugowania, jeśli sprawdzasz z punktami przerwania? Co chcesz osiągnąć inaczej niż teraz? –
Niestety, nie otrzymuję listy użytkowników; wartość GroupName ma wartość NULL. Spodziewam się zobaczyć listę użytkowników (wiem, że są użytkownicy, którzy są członkami tej grupy) - czy to ma sens? – Matt