コード例 #1
0
ファイル: DomainsUrl.cs プロジェクト: Kmiiloberrio2/fwk_12
 public DomainsUrl(DomainUrlInfo domainInfo)
 {
     this.DomainDN   = domainInfo.DomainDN;
     this.DomainName = domainInfo.DomainName;
     this.LDAPPath   = domainInfo.LDAPPath;
     this.Pwd        = domainInfo.Pwd;
     this.Usr        = domainInfo.Usr;
 }
コード例 #2
0
ファイル: frmDinamic.cs プロジェクト: Kmiiloberrio2/fwk_12
 private void cmbDomains_SelectedIndexChanged(object sender, EventArgs e)
 {
     _DomainUrlInfo = (DomainUrlInfo)cmbDomains.SelectedItem;//urls.Find(p => p.DomainName.Equals(txtDomain.Text,StringComparison.CurrentCultureIgnoreCase));
     if (_DomainUrlInfo == null)
     {
         return;
     }
     lblURL.Text = _DomainUrlInfo.LDAPPath;
 }
コード例 #3
0
ファイル: Statics.cs プロジェクト: Kmiiloberrio2/fwk_12
        /// <summary>
        /// Busca un objeto <see cref="ADWrapper"/> si no lo encuentra intenta crearlo e insertarlo al diccionario.-
        /// La creacion del diccionario se hace para no instanciar cientos de veses la clase ADWrapper. ya que esta tarea requiere ,mas uso de CPU que el costo de mantener en memoria
        /// un diccionario con porcos ADWrapper.
        /// En el mundo reali no existiran gran cantidad de clases ADWrapper, pero si muchas quisa cientos de ejecuciones del metodos de autenticacio, q son los que
        /// crearian instancias de ADWrapper.-
        /// </summary>
        /// <param name="domainName">Nombre del dominio</param>
        /// <returns></returns>
        internal static ADWrapper Find_ADWrapper(string domainName)
        {
            // Si ADWrapper no esta en el diccionario lo intenta agregar
            if (_ADWrapperDictionary.ContainsKey(domainName) == false)
            {
                DomainUrlInfo di = StaticsValues.Find_DomainUrlInfo(domainName);
                ADWrapper     ad = new Fwk.Security.ActiveDirectory.ADWrapper(di.LDAPPath, di.Usr, di.Pwd);
                _ADWrapperDictionary.Add(domainName, ad);
                return(ad);
            }

            //Si el codigo pasa por aqui es por que existe
            return(_ADWrapperDictionary[domainName]);
        }
コード例 #4
0
        ///// <summary>
        ///// Busca la lista de dominios en una base de datos
        ///// </summary>
        ///// <param name="cnnStringName">Nombre de la cadena de coneccion configurada</param>
        ///// <returns>Lista de DomainsUrl</returns>
        //public static List<DomainUrlInfo> DomainsUrl_GetList(string cnnString)
        //{
        //    return DomainsUrl_GetList2(System.Configuration.ConfigurationManager.ConnectionStrings[cnnStringName].ConnectionString);
        //}
        ///// <summary>
        ///// Busca la lista de dominios en una base de datos.- A diferencia de DomainsUrl_GetList. Este metodo recive como parametro
        ///// la cadena de coneccion y no su nombre de App.config
        ///// </summary>
        ///// <param name="cnnString">Cadena de coneccion</param>
        ///// <returns>Lista de DomainsUrl</returns>
        //public static List<DomainUrlInfo> DomainsUrl_GetList2(string cnnString)
        //{

        //    List<DomainUrlInfo> wDomainUrlInfoList = new List<DomainUrlInfo>();
        //    try
        //    {
        //        using (SqlDomainURLDataContext dc = new SqlDomainURLDataContext(cnnString))
        //        {
        //            IEnumerable<DomainUrlInfo> liste = from s in dc.DomainsUrls
        //                                        select new DomainUrlInfo
        //                                            {
        //                                                DomainName = s.DomainName,
        //                                                LDAPPath = s.LDAPPath,
        //                                                Id = s.DomainID,
        //                                                SiteName = s.SiteName,
        //                                                DomainDN = s.DomainDN
        //                                            };

        //            return liste.ToList<DomainUrlInfo>();
        //        }
        //    }
        //    catch (Exception ex)
        //    {
        //        Fwk.Exceptions.TechnicalException te = new Fwk.Exceptions.TechnicalException("Error al intentar obtener la lista de dominios desde la base de datos: ", ex);
        //        LDAPHelper.SetError(te);
        //        te.ErrorId = "15004";
        //        throw te;
        //    }
        //}


        /// <summary>
        /// Retorna todos los DolmainUrl por medio de un sp usp_GetDomainsUrl_All que lee de bd encriptada
        /// </summary>
        /// <param name="cnnString">Nombre de la cadena de cnn</param>
        /// <returns></returns>
        public static List <DomainUrlInfo> DomainsUrl_Get_FromSp_all(string cnnString)
        {
            string wApplicationId = string.Empty;


            DomainUrlInfo        wDomainUrlInfo = null;
            List <DomainUrlInfo> list           = new List <DomainUrlInfo>();

            try
            {
                var connectionString = CommonHelpers.GetCnn(cnnString).ConnectionString;
                using (SqlConnection cnn = new SqlConnection(connectionString))
                    using (SqlCommand cmd = new SqlCommand("dbo.usp_GetDomainsUrl_All", cnn))
                    {
                        cmd.CommandType = CommandType.StoredProcedure;
                        cnn.Open();


                        using (IDataReader dr = cmd.ExecuteReader())
                        {
                            while (dr.Read())
                            {
                                wDomainUrlInfo            = new DomainUrlInfo();
                                wDomainUrlInfo.DomainDN   = dr["DomainDN"].ToString();
                                wDomainUrlInfo.DomainName = dr["DomainName"].ToString();

                                wDomainUrlInfo.LDAPPath = dr["LDAPPath"].ToString();

                                wDomainUrlInfo.Pwd      = dr["Pwd"].ToString();
                                wDomainUrlInfo.SiteName = dr["SiteName"].ToString();
                                wDomainUrlInfo.Usr      = dr["Usr"].ToString();
                                list.Add(wDomainUrlInfo);
                            }
                        }

                        return(list);
                    }
            }
            catch (Exception ex)
            {
                Fwk.Exceptions.TechnicalException te = new Fwk.Exceptions.TechnicalException("Error al intentar obtener los datos del dominio desde la base de datos: ", ex);

                te.ErrorId = "15004";
                throw te;
            }
        }
コード例 #5
0
ファイル: Statics.cs プロジェクト: Kmiiloberrio2/fwk_12
        /// <summary>
        /// Intenta buscar un objeto <see cref="DomainUrlInfo"/>
        /// Si no lo encuenta lanza una TechnicalException con ErrorId = 4001
        /// </summary>
        /// <param name="domainName"></param>
        /// <returns></returns>
        internal static DomainUrlInfo Find_DomainUrlInfo(string domainName)
        {
            if (_DomainUrlList == null)
            {
                _DomainUrlList = Fwk.Security.ActiveDirectory.ADWrapper.DomainsUrl_GetList(string.Empty);
            }

            DomainUrlInfo wDomainUrlInfo = _DomainUrlList.Find(p => p.DomainName.Equals(domainName, StringComparison.InvariantCultureIgnoreCase));

            if (wDomainUrlInfo == null)
            {
                TechnicalException te = new TechnicalException(string.Format(Resource.AD_NotExistDomainsURL, domainName));
                te.ErrorId = "4001";
                te.Source  = "FwkMembership block";
                Fwk.Exceptions.ExceptionHelper.SetTechnicalException <FwkMembership>(te);
                throw te;
            }

            return(wDomainUrlInfo);
        }