コード例 #1
0
ファイル: ADUser.cs プロジェクト: Confirmit/Portal
 /// <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);
 }
コード例 #2
0
ファイル: UserManager.cs プロジェクト: Confirmit/Portal
        /// <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;
        }