/// <summary> /// Проверяет принадлежность пользователя заданной группе. /// </summary> /// <param name="group">Группа, на принадлежность к которой следует проверить.</param> /// <returns></returns> public bool IsInGroup( ADGroup group ) { LdapAuthentication ldap = new LdapAuthentication(); ADGroupCollection userGroups = ldap.GetUserGroupsMembeship( Login ); return (userGroups.FindGroupByDN( group.DN ) != null); }
/// <summary> /// /// </summary> /// <param name="role"></param> /// <param name="userNamePart"></param> /// <returns></returns> private static ADUserCollection GetUsersOfRole( Role role, string userNamePart ) { ADUserCollection result = new ADUserCollection(); if(role != Role.Anonymous) { ADUserCollection users = new ADUserCollection(); string groupName = GetADGroupNameByRole( role ); LdapAuthentication ldap = new LdapAuthentication(); users = ldap.GetUsersFromGroup( groupName, userNamePart ); if(role == Role.Admin) { // админы принадлежат к группе админов, с ними всё ясно result = users; } else { foreach(ADUser user in users) { if(CheckUserRole( user.Login, role )) { result.Add( user ); } } } } return result; }