예제 #1
0
 private void button4_Click(object sender, EventArgs e)
 {
     lblResult.Text = string.Empty;
     try
     {
         _ADHelper = new ADHelper(txtPath3.Text, txtLoginName.Text, txtPassword.Text);
         lstDomains.DataSource = _ADHelper.Domain_GetList1();
         label4.Text = _ADHelper.LDAPPath;
     }
     catch (Exception ex)
     {
         lblResult.Text = Fwk.Exceptions.ExceptionHelper.GetAllMessageException(ex);
     }
 }
예제 #2
0
        internal static ActiveDirectoryGroup[] GetGroupsFromUser(string userName, string domain)
        {
            ADHelper ad = new ADHelper(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;
        }
예제 #3
0
        internal static ActiveDirectoryUser[] GetUsersFromGroup(string groupName, string domain)
        {
            ADHelper ad = new ADHelper(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;
        }
예제 #4
0
파일: Statics.cs 프로젝트: gpanayir/sffwk
        /// <summary>
        /// Busca un objeto <see cref="ADHelper"/> si no lo encuentra intenta crearlo e insertarlo al diccionario.-
        /// La creacion del diccionario se hace para no instanciar cientos de veses la clase ADHelper. ya que esta tarea requiere ,mas uso de CPU que el costo de mantener en memoria 
        /// un diccionario con porcos ADHelper. 
        /// En el mundo reali no existiran gran cantidad de clases ADHelper, pero si muchas quisa cientos de ejecuciones del metodos de autenticacio, q son los que 
        /// crearian instancias de ADHelper.-
        /// </summary>
        /// <param name="domainName">Nombre del dominio</param>
        /// <returns></returns>
        internal static ADHelper Find_ADHelper(string domainName)
        {
            // Si ADHelper no esta en el diccionario lo intenta agregar
            if(_ADHelperDictionary.ContainsKey(domainName) == false)
            {
                DomainUrlInfo di = StaticsValues.Find_DomainUrlInfo(domainName);
                ADHelper ad = new Fwk.Security.ActiveDirectory.ADHelper(di.LDAPPath,di.Usr,di.Pwd);
                _ADHelperDictionary.Add(domainName,ad);
                return ad;
            }

            //Si el codigo pasa por aqui es por que existe
            return _ADHelperDictionary[domainName];
            
          
        }
예제 #5
0
        internal static ActiveDirectoryGroup[] GetGroups(string domain)
        {
            ADHelper ad = new ADHelper(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;
        }
예제 #6
0
        internal static bool UserExist(string userName, string domain)
        {
            ADHelper ad = new ADHelper(domain, ActiveDirectoryService.CnnStringName, performCustomWindowsContextImpersonalization);

            bool exist= ad.User_Exists(userName);

            ad.Dispose();

            return exist;
        }
예제 #7
0
        internal static void User_Reset_Password(string userName, string newPassword, string domain)
        {
            ADHelper ad = new ADHelper(domain, ActiveDirectoryService.CnnStringName, performCustomWindowsContextImpersonalization);

            ad.User_ResetPwd(userName, newPassword ,true);

            ad.Dispose();
        }
예제 #8
0
        internal static void User_SetActivation(string userName, bool disabled, string domain)
        {
            ADHelper ad = new ADHelper(domain, ActiveDirectoryService.CnnStringName, performCustomWindowsContextImpersonalization);

             ad.User_SetActivation(userName, disabled);
             ad.Dispose();
        }
예제 #9
0
        internal static ActiveDirectoryUser User_Info(string userName, string domain)
        {
            ADHelper ad = new ADHelper(domain, ActiveDirectoryService.CnnStringName, performCustomWindowsContextImpersonalization);

          ADUser usr =  ad.User_Get_ByName(userName);
          if (usr != null)
              return null;
          return new ActiveDirectoryUser(usr);
        }
예제 #10
0
        internal static void User_Lock(string userName, string domain)
        {
            ADHelper ad = new ADHelper(domain, ActiveDirectoryService.CnnStringName, performCustomWindowsContextImpersonalization);

            ad.User_SetLockedStatus(userName,true);
        }