コード例 #1
0
 public bool ChangeUserResetAttribute(User user)
 {
     using (PrincipalContext context = _contextFactory.GeneratePrincipalContext())
     {
         UserPrincipalExtension userSearchParameters = new UserPrincipalExtension(context)
         {
             ExtensionAttribute14 = user.BannerID.Value
         };
         PrincipalSearcher userSearch = new PrincipalSearcher(userSearchParameters)
         {
             QueryFilter = userSearchParameters
         };
         UserPrincipalExtension userSearchResult = (UserPrincipalExtension)userSearch.FindOne();
         if (userSearchResult != null)
         {
             try
             {
                 userSearchResult.ExtensionAttribute8 = PASSWORD_RESET_VALUE;
                 userSearchResult.Save();
                 return(true);
             }
             catch
             {
                 return(false);
             }
         }
         else
         {
             return(false);
         }
     }
 }
コード例 #2
0
        private User ConvertUserPrincipalToUser(UserPrincipalExtension userPrincipalExtension)
        {
            BannerID bannerID       = BannerID.CreateBannerID(userPrincipalExtension.ExtensionAttribute14);
            string   fullName       = String.Format("{0}, {1} {2}", userPrincipalExtension.Surname, userPrincipalExtension.GivenName, userPrincipalExtension.MiddleName);
            string   samAccountName = userPrincipalExtension.SamAccountName;

            return(new User(bannerID, samAccountName, fullName));
        }
        public string GetUserDistinguishedName(string samAccountName)
        {
            string result;

            using (PrincipalContext principalContext = new PrincipalContext(ContextType.Domain, strContextName, strContextContainer))
                using (UserPrincipalExtension userPrincipal = UserPrincipalExtension.FindByIdentity(principalContext, IdentityType.SamAccountName, samAccountName))
                {
                    result = userPrincipal.DistinguishedName;
                }

            return(result);
        }
コード例 #4
0
 public User FindUserByBannerID(BannerID bannerID)
 {
     using (PrincipalContext context = _contextFactory.GeneratePrincipalContext())
     {
         UserPrincipalExtension userSearchParameters = new UserPrincipalExtension(context)
         {
             ExtensionAttribute14 = bannerID.Value
         };
         PrincipalSearcher userSearch = new PrincipalSearcher(userSearchParameters)
         {
             QueryFilter = userSearchParameters
         };
         UserPrincipalExtension userSearchResult = (UserPrincipalExtension)userSearch.FindOne();
         if (userSearchResult != null)
         {
             return(ConvertUserPrincipalToUser(userSearchResult));
         }
         return(null);
     }
 }
コード例 #5
0
 public User FindUserBySamAccountName(string samAccountName)
 {
     using (PrincipalContext context = _contextFactory.GeneratePrincipalContext())
     {
         UserPrincipalExtension userSearchParameters = new UserPrincipalExtension(context)
         {
             SamAccountName = samAccountName
         };
         PrincipalSearcher userSearch = new PrincipalSearcher(userSearchParameters)
         {
             QueryFilter = userSearchParameters
         };
         UserPrincipalExtension userSearchResult = (UserPrincipalExtension)userSearch.FindOne();
         if (userSearchResult != null)
         {
             return(ConvertUserPrincipalToUser(userSearchResult));
         }
         return(null);
     }
 }
        /// <summary>
        /// Returnerer en dictionary med en employees, som har en bestemt manager
        /// </summary>
        /// <param name="managerSamAccountName"></param>
        /// <returns></returns>
        public Dictionary <string, string> GetManagerEmployees(string managerSamAccountName)
        {
            Dictionary <string, string> result = new Dictionary <string, string>();

            using (PrincipalContext principalContext = new PrincipalContext(ContextType.Domain, strContextName, strContextContainer))
                using (UserPrincipalExtension userPrincipal = new UserPrincipalExtension(principalContext))
                {
                    userPrincipal.AdvancedSearchFilter.ManagerEquals(GetUserDistinguishedName(managerSamAccountName));

                    using (PrincipalSearcher principalSearcher = new PrincipalSearcher(userPrincipal))
                    {
                        foreach (UserPrincipalExtension user in principalSearcher.FindAll())
                        {
                            if (user.Name != null && user.SamAccountName != null)
                            {
                                result.Add(user.SamAccountName, user.DisplayName);
                            }
                        }
                    }
                }
            return(result);
        }
コード例 #7
0
 public UserRepository()
 {
     _pc   = MyUtilities.GetPrincipalContext(ouPath);
     _user = new UserPrincipalExtension(pc);
     _ps   = new PrincipalSearcher(user);
 }
コード例 #8
0
 public UpeWrapper(PrincipalContext principalContext,
                   UserPrincipalExtension userPrincipalExtension)
 {
     this.PrincipalContext       = principalContext;
     this.UserPrincipalExtension = userPrincipalExtension;
 }