Example #1
0
        internal static void User_Unlock(string userName, string domain)

        {
            ADWrapper ad = new ADWrapper(domain, Common.CnnStringNameAD, performCustomWindowsContextImpersonalization);

            try
            {
                UnlockAccount2(userName, ad);
            }
            catch (Exception y)
            {
                if (performCustomWindowsContextImpersonalization)
                {
                    using (var impersonation = new ImpersonateUser(ad.LDAPUser, ad.LDAPDomain, ad.LDAPPassword, ImpersonateUser.LOGON32_LOGON_NEW_CREDENTIALS))
                    {
                        ad.User_Unlock(userName);
                    }
                }

                else
                {
                    ad.User_Unlock(userName);
                }


                ad.Dispose();
            }
        }
Example #2
0
        public void SearchADUsers()
        {
            var dict = ADWrapper.GetUsers().ToDictionary(x => x.UserName);
            var user = dict["litvinov"];

            Assert.IsNotNull(user.Email);
        }
Example #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="userName"></param>
        /// <param name="mustChange"></param>
        /// <param name="domain"></param>
        public static void User_MustChangePasswordNextLogon(string userName, bool mustChange, string domain)
        {
            if (Common.mustChangedNextLogon == false)
            {
                return;
            }

            ADWrapper ad = new ADWrapper(domain, Common.CnnStringNameAD, performCustomWindowsContextImpersonalization);

            //PrincipalContext pr = new PrincipalContext(ContextType.Domain, domain, "dc=corp,dc=local", username, password);



            if (performCustomWindowsContextImpersonalization)
            {
                using (var impersonation = new ImpersonateUser(ad.LDAPUser, ad.LDAPDomain, ad.LDAPPassword, ImpersonateUser.LOGON32_LOGON_NEW_CREDENTIALS))
                {
                    ad.User_MustChangePasswordNextLogon(userName, mustChange);
                }
            }
            else
            {
                ad.User_MustChangePasswordNextLogon(userName, mustChange);
            }
        }
        internal static void User_SetActivation(string userName, bool disabled, string domain)
        {
            ADWrapper ad = new ADWrapper(domain, ActiveDirectoryService.CnnStringName, performCustomWindowsContextImpersonalization);

            ad.User_SetActivation(userName, disabled);
            ad.Dispose();
        }
Example #5
0
 public RegisteredUsers(GitLabWrapper gitLabWrapper, DXVcsWrapper vcsWrapper)
 {
     this.gitLabWrapper = gitLabWrapper;
     ADUsers            = ADWrapper.GetUsers().ToDictionary(x => x.UserName, new UserNameEqualityComparer());
     Users         = CreateGitLabUsers().ToDictionary(x => x.UserName, new UserNameEqualityComparer());
     this.VcsUsers = vcsWrapper.GetUsers().ToList();
 }
Example #6
0
        internal static List <ActiveDirectoryUser> GetUsersFromGroup(string groupName, string domain)
        {
            try
            {
                ADWrapper ad = new ADWrapper(domain, Common.CnnStringNameAD);

                List <ADUser> list = ad.Users_SearchByGroupName(groupName);

                ad.Dispose();
                if (list.Count != 0)
                {
                    var userList = from u in list select new ActiveDirectoryUser(u);

                    return(userList.ToList());
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #7
0
        void User_Reset_Password(string userName, string newPassword, string domain)
        {
            ADWrapper ad = new ADWrapper(domain, _ImpersonateLogin);

            ad.User_ResetPwd(userName, newPassword, true);

            ad.Dispose();
        }
        internal static void User_Reset_Password(string userName, string newPassword, string domain)
        {
            ADWrapper ad = new ADWrapper(domain, ActiveDirectoryService.CnnStringName, performCustomWindowsContextImpersonalization);

            ad.User_ResetPwd(userName, newPassword, true);

            ad.Dispose();
        }
        internal static void User_Unlock(string userName, string domain)
        {
            ADWrapper ad = new ADWrapper(domain, ActiveDirectoryService.CnnStringName, performCustomWindowsContextImpersonalization);

            //ad.User_SetLockedStatus(userName, false);
            ad.User_Unlock(userName);

            ad.Dispose();
        }
Example #10
0
        void Connect()
        {
            ///172.22.12.110
            ADWrapper _ADHelper = new ADWrapper("LDAP://PC1.Pelsoft.es/DC=Pelsoft,DC=ar", "moviedo", "xxxxxx");

            _ADHelper.User_Get_ByName("moviedo");

            _ADHelper.User_ChangeEmail("moviedo", "*****@*****.**");
        }
        internal static bool UserExist(string userName, string domain)
        {
            ADWrapper ad = new ADWrapper(domain, ActiveDirectoryService.CnnStringName, performCustomWindowsContextImpersonalization);

            bool exist = ad.User_Exists(userName);

            ad.Dispose();

            return(exist);
        }
        internal static bool UserExist(string userName, string domain)
        {
            ADWrapper ad = new ADWrapper(domain, CommonHelpers.CnnStringNameAD, apiAppSettings.apiConfig.activeDirectoryImpersonate);

            bool exist = ad.User_Exists(userName);

            ad.Dispose();


            return(exist);
        }
Example #13
0
        internal static Boolean UserExist(string userName, string domain)
        {
            ADWrapper ad = new ADWrapper(domain, Common.CnnStringNameAD, performCustomWindowsContextImpersonalization);

            bool exist = ad.User_Exists(userName);

            ad.Dispose();


            return(exist);
        }
Example #14
0
        public override SearchDomainsUrlsResponse Execute(SearchDomainsUrlsRequest pServiceRequest)
        {
            SearchDomainsUrlsResponse wResponse = new SearchDomainsUrlsResponse();

            UserBC wUserBC = new UserBC(pServiceRequest.ContextInformation.AppId, pServiceRequest.SecurityProviderName);

            List <DomainUrlInfo> wDomainUrlInfoList = ADWrapper.DomainsUrl_GetList(pServiceRequest.SecurityProviderName);

            wResponse.BusinessData.DomainsNameList = wUserBC.MapListDomainToListString(wDomainUrlInfoList);

            return(wResponse);
        }
        internal static ActiveDirectoryUserBE User_Info(string userName, string domain)
        {
            ADWrapper ad = new ADWrapper(domain, CommonHelpers.CnnStringNameAD, apiAppSettings.apiConfig.activeDirectoryImpersonate);

            ADUser usr = ad.User_Get_ByName(userName);

            if (usr == null)
            {
                return(null);
            }
            return(usr.getBE());
        }
        internal static ActiveDirectoryUser User_Info(string userName, string domain)
        {
            ADWrapper ad = new ADWrapper(domain, ActiveDirectoryService.CnnStringName, performCustomWindowsContextImpersonalization);

            ADUser usr = ad.User_Get_ByName(userName);

            if (usr != null)
            {
                return(null);
            }
            return(new ActiveDirectoryUser(usr));
        }
Example #17
0
        //public ADGroup(LdapEntry wLdapEntry)
        //{
        //    if (wLdapEntry.ContainsKey(ADProperties.NAME))
        //        _Name = wLdapEntry[ADProperties.NAME][0];

        //    if (wLdapEntry.ContainsKey(ADProperties.DISTINGUISHEDNAME))
        //        _Name = wLdapEntry[ADProperties.DISTINGUISHEDNAME][0];

        //    if (wLdapEntry.ContainsKey(ADProperties.DESCRIPTION))
        //        _Name = wLdapEntry[ADProperties.DESCRIPTION][0];

        //    if (wLdapEntry.ContainsKey(ADProperties.LOGINNAME))
        //        _Name = wLdapEntry[ADProperties.LOGINNAME][0];

        //    if (wLdapEntry.ContainsKey(ADProperties.OBJECTCATEGORY))
        //        _Name = wLdapEntry[ADProperties.OBJECTCATEGORY][0];

        //    if (wLdapEntry.ContainsKey(ADProperties.USERPRINCIPALNAME))
        //        _Domain = wLdapEntry[ADProperties.USERPRINCIPALNAME][0].Split('.').First();

        //    if (!String.IsNullOrEmpty(_DistinguishedName))
        //    {
        //        SetNameInfo(_DistinguishedName);
        //    }
        //}


        /// <summary>
        ///
        /// </summary>
        /// <param name="directoryGroup"></param>
        public ADGroup(DirectoryEntry directoryGroup)
        {
            string domainAddress;

            string userPrincipalName = ADWrapper.GetProperty(directoryGroup, ADProperties.USERPRINCIPALNAME);


            _Name = ADWrapper.GetProperty(directoryGroup, ADProperties.NAME);

            _DistinguishedName = ADWrapper.GetProperty(directoryGroup, ADProperties.DISTINGUISHEDNAME);

            _Description = ADWrapper.GetProperty(directoryGroup, ADProperties.DESCRIPTION);

            _FirstName = ADWrapper.GetProperty(directoryGroup, ADProperties.LOGINNAME);
            _Category  = ADWrapper.GetProperty(directoryGroup, ADProperties.OBJECTCATEGORY);
            _CN        = ADWrapper.GetProperty(directoryGroup, ADProperties.CONTAINERNAME);
            if (!string.IsNullOrEmpty(userPrincipalName))
            {
                domainAddress = userPrincipalName.Split('@')[1];
            }
            else
            {
                domainAddress = string.Empty;
            }

            if (!string.IsNullOrEmpty(domainAddress))
            {
                _Domain = domainAddress.Split('.').First();
            }

            //if (pDirectoryEntry.Properties.Contains("sAMAccountName"))
            //{
            //    base.Name = pDirectoryEntry.Properties["sAMAccountName"][0].ToString(); //Nombre usuario como aaguirre
            //    _CN = base.Name;
            //}
            //if (pDirectoryEntry.Properties.Contains("userPrincipalName"))
            //    _UserPrincipalName = pDirectoryEntry.Properties["userPrincipalName"][0].ToString();//Nombre usuario como [email protected]
            //if (pDirectoryEntry.Properties.Contains("name"))
            //    base.FullName = pDirectoryEntry.Properties["name"][0].ToString(); //Nombre completo

            //if (pDirectoryEntry.Properties.Contains("sAMAccountType"))
            //    _FirstName = pDirectoryEntry.Properties["sAMAccountType"][0].ToString();
            //if (pDirectoryEntry.Properties.Contains("objectCategory"))
            //    base.Category = pDirectoryEntry.Properties["objectCategory"][0].ToString();

            //ej:CN=GS_Comite_comunicacion_RW,OU=Seguridad,DC=Datacom,DC=org
            if (!string.IsNullOrEmpty(_DistinguishedName))
            {
                SetNameInfo(_DistinguishedName);
            }
        }
Example #18
0
 private void button4_Click(object sender, EventArgs e)
 {
     lblResult.Text = string.Empty;
     try
     {
         adADWrapper           = new ADWrapper(txtPath3.Text, txtLoginName.Text, txtPassword.Text);
         lstDomains.DataSource = adADWrapper.Domain_GetList1();
         label4.Text           = adADWrapper.LDAPPath;
     }
     catch (Exception ex)
     {
         lblResult.Text = Fwk.Exceptions.ExceptionHelper.GetAllMessageException(ex);
     }
 }
        internal static CentralizedSecurity.wcf.Contracts.DomainsUrl[] GetAllDomainsUrl()
        {
            List <DomainUrlInfo> auxlist = ADWrapper.DomainsUrl_GetList2(System.Configuration.ConfigurationManager.ConnectionStrings[ActiveDirectoryService.CnnStringName].ConnectionString);

            if (auxlist.Count != 0)
            {
                var list = from d in auxlist select new CentralizedSecurity.wcf.Contracts.DomainsUrl(d);

                return(list.ToArray <CentralizedSecurity.wcf.Contracts.DomainsUrl>());
            }
            else
            {
                return(null);
            }
        }
Example #20
0
        public static SafeAccessTokenHandle TryImpersonate(ADWrapper ad)
        {
            // Call LogonUser to obtain a handle to an access token.
            SafeAccessTokenHandle safeAccessTokenHandle;

            bool returnValue = LogonUser(ad.LDAPUser, ad.LDAPDomain, ad.LDAPPassword, LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT,
                                         out safeAccessTokenHandle);

            if (false == returnValue)
            {
                int ret = Marshal.GetLastWin32Error();
                TechnicalException tx = new TechnicalException(string.Format("LogonUser failed with error code : {0}", ret));
                throw tx;
            }
            return(safeAccessTokenHandle);
        }
Example #21
0
        internal static Fwk.CentralizedSecurity.Contracts.DomainsUrl[] GetAllDomainsUrl()
        {
            //List<DomainUrlInfo> auxlist = ADWrapper.DomainsUrl_GetList2(System.Configuration.ConfigurationManager.ConnectionStrings[Common.CnnStringNameAD].ConnectionString);
            List <DomainUrlInfo> auxlist = ADWrapper.DomainsUrl_Get_FromSp_all(Common.CnnStringNameAD);

            if (auxlist.Count != 0)
            {
                var list = from d in auxlist select new Fwk.CentralizedSecurity.Contracts.DomainsUrl(d);

                return(list.ToArray <Fwk.CentralizedSecurity.Contracts.DomainsUrl>());
            }
            else
            {
                return(null);
            }
        }
Example #22
0
        void init()
        {
            try
            {
                urls = ADWrapper.DomainsUrl_GetList("ActiveDirectory");//@"Data Source=SANTANA\SQLEXPRESS;Initial Catalog=Logs;Integrated Security=True");

                domainUrlInfoBindingSource.DataSource = urls;
                cmbDomains.SelectedIndex = 1;

                lblURL.Text = ((DomainUrlInfo)cmbDomains.SelectedItem).LDAPPath;
            }
            catch (Exception ex)
            {
                lblCheckResult.Text    = Fwk.Exceptions.ExceptionHelper.GetAllMessageException(ex);
                btnAutenticate.Enabled = false;
            }
        }
Example #23
0
        internal static void User_Lock(string userName, string domain)
        {
            ADWrapper ad = new ADWrapper(domain, Common.CnnStringNameAD, false);


            if (performCustomWindowsContextImpersonalization)
            {
                using (var impersonation = new ImpersonateUser(ad.LDAPUser, ad.LDAPDomain, ad.LDAPPassword, ImpersonateUser.LOGON32_LOGON_NEW_CREDENTIALS))
                {
                    ad.User_SetLockedStatus(userName, true);
                }
            }
            else
            {
                ad.User_SetLockedStatus(userName, true);
            }
        }
Example #24
0
        internal static void User_Lock(string userName, string domain)
        {
            ADWrapper ad = new ADWrapper(domain, Common.CnnStringNameAD, false);


            if (performCustomWindowsContextImpersonalization)
            {
                var safeAccessTokenHandle = TryImpersonate(ad);
                WindowsIdentity.RunImpersonated(safeAccessTokenHandle, () =>
                {
                    ad.User_SetLockedStatus(userName, true);
                });
            }
            else
            {
                ad.User_SetLockedStatus(userName, true);
            }
        }
        internal static ActiveDirectoryUser[] GetUsersFromGroup(string groupName, string domain)
        {
            ADWrapper ad = new ADWrapper(domain, ActiveDirectoryService.CnnStringName);

            List <ADUser> list = ad.Users_SearchByGroupName(groupName);

            ad.Dispose();
            if (list.Count != 0)
            {
                var userList = from u in list select new ActiveDirectoryUser(u);

                return(userList.ToArray <ActiveDirectoryUser>());
            }
            else
            {
                return(null);
            }
        }
        internal static ActiveDirectoryGroup[] GetGroupsFromUser(string userName, string domain)
        {
            ADWrapper ad = new ADWrapper(domain, ActiveDirectoryService.CnnStringName);

            List <ADGroup> list = ad.User_SearchGroupList(userName);

            ad.Dispose();
            if (list.Count != 0)
            {
                var activeDirectoryGroupList = from g in list select new ActiveDirectoryGroup(g);

                return(activeDirectoryGroupList.ToArray <ActiveDirectoryGroup>());
            }
            else
            {
                return(null);
            }
        }
Example #27
0
 private void button3_Click(object sender, EventArgs e)
 {
     lblResult.Text = string.Empty;
     try
     {
         //ImpersonateLogin wImpersonation = new ImpersonateLogin();
         //wImpersonation.domain = txtDomainName.Text;
         //wImpersonation.user= txtLoginName.Text;
         //wImpersonation.password= txtPassword.Text;
         adADWrapper = new ADWrapper(txtPath2.Text, txtLoginName.Text, txtPassword.Text);
         //adADWrapper.LDAPDomainName = txtDomainName.Text;
         lstDomains.DataSource = adADWrapper.Domain_GetList1();
         label4.Text           = adADWrapper.LDAPPath;
     }
     catch (Exception ex)
     {
         lblResult.Text = Fwk.Exceptions.ExceptionHelper.GetAllMessageException(ex);
     }
 }
        internal static ActiveDirectoryGroup[] GetGroups(string domain)
        {
            ADWrapper ad = new ADWrapper(domain, ActiveDirectoryService.CnnStringName, performCustomWindowsContextImpersonalization);

            List <ADGroup> list = ad.Groups_GetAll();

            ad.Dispose();

            if (list.Count != 0)
            {
                var userList = from u in list select new ActiveDirectoryGroup(u);

                return(userList.ToArray <ActiveDirectoryGroup>());
            }
            else
            {
                return(null);
            }
        }
Example #29
0
        public static Boolean ResetPassword(string usernameToresset, string domain, string newPassword, Boolean UnlockAccount, Boolean NextLogon)
        {
            ADWrapper ad = new ADWrapper(domain, Common.CnnStringNameAD, performCustomWindowsContextImpersonalization);

            if (performCustomWindowsContextImpersonalization)
            {
                var safeAccessTokenHandle = TryImpersonate(ad);
                return(WindowsIdentity.RunImpersonated(safeAccessTokenHandle, () =>
                {
                    //return ResetPassword2(usernameToresset, newPassword, ad);
                    return ResetPassword_ADWrapper(usernameToresset, newPassword, ad);
                }));
            }
            else
            {
                //return ResetPassword2(usernameToresset, newPassword, ad);
                return(ResetPassword_ADWrapper(usernameToresset, newPassword, ad));
            }
        }
Example #30
0
        internal static void User_SetActivation(string userName, bool disabled, string domain)
        {
            ADWrapper ad = new ADWrapper(domain, Common.CnnStringNameAD, false);


            if (performCustomWindowsContextImpersonalization)
            {
                using (var impersonation = new ImpersonateUser(ad.LDAPUser, ad.LDAPDomain, ad.LDAPPassword, ImpersonateUser.LOGON32_LOGON_NEW_CREDENTIALS))
                {
                    ad.User_SetActivation(userName, disabled);
                }
            }
            else
            {
                ad.User_SetActivation(userName, disabled);
            }

            ad.Dispose();
        }