示例#1
0
        public void RemoveLdapAccount(UserInfo userInfo)
        {
            var user = LdapHelper.GetLdapUser(userInfo, RootPrincipal);

            if (user != null)
            {
                user.Delete();
            }
        }
示例#2
0
        public string UpdateLdapAccount(UserInfo oldUserInfo, UserInfo newUserInfo)
        {
            var user = LdapHelper.GetLdapUser(oldUserInfo, RootPrincipal);

            try
            {
                if (user != null)
                {
                    var preNewUserInfo = newUserInfo;
                    preNewUserInfo.SamName = user.SamAccountName;
                    if (newUserInfo.FirstName.ToLower() != user.GivenName.ToLower() || newUserInfo.LastName.ToLower() != user.Surname.ToLower())
                    {
                        preNewUserInfo = LdapHelper.GetUniqueFirstNameLastName(newUserInfo, RootPrincipal);
                    }

                    using (DirectoryEntry entry = (DirectoryEntry)user.GetUnderlyingObject())
                    {
                        entry.InvokeSet("sAMAccountName", preNewUserInfo.SamName);
                        entry.InvokeSet("sn", preNewUserInfo.LastName);
                        entry.InvokeSet("givenName", preNewUserInfo.FirstName);
                        entry.InvokeSet("userPrincipalName", preNewUserInfo.Email);
                        if (!String.IsNullOrEmpty(newUserInfo.Password))
                        {
                            entry.Invoke("SetPassword", new object[] { newUserInfo.Password });
                        }
                        entry.InvokeSet("displayName", preNewUserInfo.SamName);
                        entry.InvokeSet("mail", preNewUserInfo.Email);
                        entry.CommitChanges();
                        entry.Rename("CN=" + preNewUserInfo.SamName);
                        entry.CommitChanges();
                    }

                    //user.SamAccountName = preNewUserInfo.SamName;
                    //user.DisplayName = String.Format("{0} {1}", preNewUserInfo.FirstName, newUserInfo.LastName);
                    //user.Surname = preNewUserInfo.LastName;
                    //user.GivenName = preNewUserInfo.FirstName;
                    //user.UserPrincipalName = preNewUserInfo.Email;
                    //user.EmailAddress = preNewUserInfo.Email;
                    //if (!String.IsNullOrEmpty(newUserInfo.Password))
                    //{
                    //    user.Enabled = true;
                    //    user.PasswordNeverExpires = true;
                    //    user.SetPassword(newUserInfo.Password);
                    //}
                    //user.Save();

                    return(string.Empty);
                }
                return(string.Empty);
            }
            catch (Exception ex)
            {
                var error = String.Format("Exception updating email address for {0} to {1} - {2}", oldUserInfo.Email, newUserInfo.Email, ex.Message);
                return(error);
            }
        }
示例#3
0
        public string SetLdapAccountPassword(UserInfo userInfo, string passWord)
        {
            var user = LdapHelper.GetLdapUser(userInfo, RootPrincipal);

            try
            {
                if (user != null)
                {
                    user.Enabled = true;
                    user.PasswordNeverExpires = true;
                    user.SetPassword(passWord);
                    user.Save();
                    return(string.Empty);
                }
                return(string.Empty);
            }
            catch (Exception ex)
            {
                var error = String.Format("Exception setting password for {0} with exception {1}", userInfo.Email, ex.Message);
                return(error);
            }
        }
示例#4
0
        public bool IsUserExists(UserInfo userInfo)
        {
            var user = LdapHelper.GetLdapUser(userInfo, RootPrincipal);

            return(user != null);
        }
示例#5
0
        public UserPrincipal GetUser(UserInfo userInfo)
        {
            var user = LdapHelper.GetLdapUser(userInfo, RootPrincipal);

            return(user);
        }