Я пишу код, чтобы проверить, принадлежит ли пользователь определенной группе AD или нет.
Когда я проверил, вот как выглядит информация о группе:
"CN=Building - 28 (ALL),OU=Exchange Auto Groups,OU=AM,OU=schwab,DC=am,DC=corp,DC=schwab,DC=com"
Это группа, которую я хочу проверить, принадлежит ли пользователь (например, user1) к этой группе или нет.
Я пытаюсь поиграть с методом, который возвращает список групп, к которым принадлежит пользователь. Здесь я должен фильтровать на основе группы .
Код для отображения групп пользователей активного каталога, к которым принадлежит пользователь:
private List<string> GetUserGroupMembership(string userName)
{
var directoryEntry = new DirectoryEntry();
DirectorySearcher search = new DirectorySearcher();
**//filter based on the username**
search.Filter = String.Format("(cn={0})", userName);
**//How to filter based on the Group "CN=Building - 28 (ALL),OU=Exchange Auto Groups,OU=AM,OU=schwab,DC=am,DC=corp,DC=schwab,DC=com"**
search.PropertiesToLoad.Add("memberOf");
List<string> groupsList = new List<string>();
SearchResult result = search.FindOne();
if (result != null)
{
int groupCount = result.Properties["memberOf"].Count;
for (int counter = 0; counter < groupCount; counter++)
{
groupsList.Add((string)result.Properties["memberOf"][counter]);
}
}
return groupsList.ToList();
}
Я ценю ваш ответ.
Спасибо