예제 #1
0
        public AplicacionBE checkPermisoXAplicacion(Int64 App, string sPasswordApp)
        {
            linqIELDataBaseDataContext dboSegLatino = new linqIELDataBaseDataContext();
            AplicacionBE PermisosXApp = new AplicacionBE();

            try
            {
                var lnqConsulta = dboSegLatino.sp_getPermisoXApp(App);

                foreach (var a in lnqConsulta)
                {
                    PermisosXApp.IDAPLICACION = a.IDAPLICACION;
                    PermisosXApp.DESCRIPCION  = a.DESCRIPCION;
                    PermisosXApp.PASSWORD     = a.PASSWORD;
                    PermisosXApp.ACTIVO       = a.ACTIVO == null ? false : Boolean.Parse(a.ACTIVO.ToString());
                }
                return(PermisosXApp);
            }
            catch (Exception ex)
            {
                StackTrace st      = new StackTrace(true);
                CommonDA   ComunDA = new CommonDA();
                ComunDA.insErrorDB("Error: " + ex.Message + " En El Metodo: " + MethodBase.GetCurrentMethod().Name, st, "", App.ToString());
                throw new Exception(ex.Message);
            }
        }
예제 #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (Request.QueryString["ticket"] != null && Request.QueryString["aplicacion"] != null)
                {
                    UsuarioBE    usuarioBE    = new UsuarioBE();
                    AplicacionBE aplicacionBE = new AplicacionBE();

                    usuarioBE.Ticket          = Request.QueryString["ticket"].ToString();
                    aplicacionBE.IdAplicacion = Request.QueryString["aplicacion"].ToString();
                    UsuarioBL.ObtenerUsuarioTicket(usuarioBE);

                    List <UsuarioBE> lstUsuarios = UsuarioBL.ListarUsuarios(usuarioBE);

                    if (lstUsuarios.Count == 1)
                    {
                        Session["Usuario"]    = lstUsuarios[0];
                        Session["Aplicacion"] = aplicacionBE;
                        FormsAuthentication.SetAuthCookie(lstUsuarios[0].IdUsuario, true);
                        UsuarioBL.GenerarTicket(lstUsuarios[0]);
                        //Response.Redirect("forms/Principal.aspx");
                        Response.Redirect("forms/Inicio.aspx");
                    }
                    else
                    {
                        ScriptManager.RegisterStartupScript(Page, Page.GetType(), "myModal", "openAlert('#divAlert','modal-header-danger','Error','Usuario y/o contraseña inválido.');", true);
                        //ScriptManager.RegisterStartupScript(Page, Page.GetType(), "myModal", "$('#divAlert').modal();", true);
                    }
                }
            }
        }
예제 #3
0
        public List <AplicacionBE> getAplicaciones(string idAplicacion, string txtBusqueda, Int64 App)
        {
            linqIELDataBaseDataContext dboSegLatino = new linqIELDataBaseDataContext();
            List <AplicacionBE>        Aplicaciones = new List <AplicacionBE>();

            try
            {
                Int64 iApp        = App;
                var   lnqConsulta = dboSegLatino.sp_getAplicaciones(idAplicacion, txtBusqueda);
                foreach (var a in lnqConsulta)
                {
                    AplicacionBE Aplicacion = new AplicacionBE();
                    Aplicacion.IDAPLICACION = a.IDAPLICACION;
                    Aplicacion.DESCRIPCION  = a.DESCRIPCION;
                    Aplicacion.PASSWORD     = a.PASSWORD;
                    Aplicacion.ACTIVO       = a.ACTIVO ?? false;
                    Aplicaciones.Add(Aplicacion);
                }
                return(Aplicaciones);
            }
            catch (Exception ex)
            {
                StackTrace st      = new StackTrace(true);
                CommonDA   ComunDA = new CommonDA();
                ComunDA.insErrorDB("Error: " + ex.Message + " En El Metodo: " + MethodBase.GetCurrentMethod().Name, st, "", App.ToString());
                throw new Exception(ex.Message);
            }
        }
예제 #4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                List <AplicacionBE> lstAplicaciones = new List <AplicacionBE>();
                AplicacionBE        aplicacionBE    = new AplicacionBE();
                UsuarioBE           Usuario         = (UsuarioBE)Session["Usuario"];
                String strHTMLAplicacionActual      = "";

                //if (Session["Aplicaciones"] == null)
                //{
                lstAplicaciones = AplicacionBL.ListarAplicaciones(Usuario);
                //    Session["Aplicaciones"] = lstAplicaciones;
                //}
                //else
                //{
                //    lstAplicaciones = (List<AplicacionBE>)Session["Aplicaciones"];
                //}
                aplicacionBE = (AplicacionBE)Session["Aplicacion"];

                IEnumerable <AplicacionBE> lstAplicacionActual = lstAplicaciones.Where(T => T.IdAplicacion == aplicacionBE.IdAplicacion).Select(T => T);
                foreach (AplicacionBE item in lstAplicacionActual)
                {
                    aplicacionBE = item;
                }
                strHTMLAplicacionActual = UtilitarioBL.ObtenerHTMLAplicacionActual(aplicacionBE);

                ContentPlaceHolder cphContenido = (ContentPlaceHolder)this.Master.FindControl("cphContenido");
                Label lblControlH1 = new Label();
                lblControlH1.Text = strHTMLAplicacionActual;
                cphContenido.Controls.Add(lblControlH1);
            }
        }
예제 #5
0
        private void executeAdd(string Aplicacion, string password)
        {
            AplicacionBE App      = new AplicacionBE();
            SecurityBR   oSec     = new SecurityBR();
            EncryptionBE oEncrypt = new EncryptionBE();
            bool         upd;

            oEncrypt = oSec.encryptDesEncrypt(1, password, long.Parse(ResIEL.IdApp));

            App.DESCRIPCION = Aplicacion;
            App.ACTIVO      = true;
            App.PASSWORD    = oEncrypt.VALOROUT.ToString();
            upd             = oSec.addAplicacion(App, long.Parse(ResIEL.IdApp));
            if (upd)
            {
                CargaGrid();
                System.Text.StringBuilder sb = new System.Text.StringBuilder();
                sb.Append(@"<script type='text/javascript'>");
                sb.Append("alert('Se agregó la aplicacion con exito');");
                sb.Append("$('#addModal').modal('hide');");
                sb.Append(@"</script>");
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "AddHideModalScript", sb.ToString(), false);
            }
            else
            {
                CargaGrid();
                System.Text.StringBuilder sb = new System.Text.StringBuilder();
                sb.Append(@"<script type='text/javascript'>");
                sb.Append("alert('No fue posible realizar la operacion, intente mas tarde.');");
                sb.Append("$('#addModal').modal('hide');");
                sb.Append(@"</script>");
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "AddHideModalScript2", sb.ToString(), false);
            }
        }
예제 #6
0
        public static List <OpcionBE> ListarOpciones(UsuarioBE usuarioBE, AplicacionBE aplicacionBE)
        {
            List <OpcionBE> lstResultadosBE = new List <OpcionBE>();
            DBBaseDatos     baseDatosDA     = new DBBaseDatos();

            baseDatosDA.Configurar();
            baseDatosDA.Conectar();

            try
            {
                //baseDatosDA.CrearComando("USP_LISTAR_OPCIONES", CommandType.StoredProcedure);
                baseDatosDA.CrearComando("USP_OPCION", CommandType.StoredProcedure);
                baseDatosDA.AsignarParametroCadena("@PCH_TIPO_TRANSACCION", "S", true);
                baseDatosDA.AsignarParametroCadena("@PVC_ID_USUARIO", usuarioBE.IdUsuario, true);
                baseDatosDA.AsignarParametroCadena("@PCH_ID_PERFIL", usuarioBE.Perfil.IdValor, true);
                baseDatosDA.AsignarParametroCadena("@PVC_ID_APLICACION", aplicacionBE.IdAplicacion, true);

                DbDataReader drDatos = baseDatosDA.EjecutarConsulta();

                while (drDatos.Read())
                {
                    OpcionBE item = new OpcionBE();

                    item.IdOpcion = drDatos.GetString(drDatos.GetOrdinal("VC_ID_OPCION"));
                    item.Nombre   = drDatos.GetString(drDatos.GetOrdinal("VC_NOMBRE"));
                    if (!drDatos.IsDBNull(drDatos.GetOrdinal("VC_ID_OPCION_PADRE")))
                    {
                        item.IdOpcionPadre = drDatos.GetString(drDatos.GetOrdinal("VC_ID_OPCION_PADRE"));
                    }
                    if (!drDatos.IsDBNull(drDatos.GetOrdinal("VC_URL")))
                    {
                        item.URL = drDatos.GetString(drDatos.GetOrdinal("VC_URL"));
                    }
                    item.Icono = drDatos.GetString(drDatos.GetOrdinal("VC_ICONO"));
                    item.Orden = drDatos.GetString(drDatos.GetOrdinal("VC_ORDEN"));

                    lstResultadosBE.Add(item);
                }

                drDatos.Close();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                baseDatosDA.Desconectar();
                baseDatosDA = null;
            }

            return(lstResultadosBE);
        }
예제 #7
0
 public bool updAplicacion(AplicacionBE Aplicacion, Int64 App)
 {
     try
     {
         SecurityDA Seguridad = new SecurityDA();
         //bool bExistUsr = checkApp(Aplicacion.DESCRIPCION.ToString().ToUpper());
         //if (!bExistUsr) throw new Exception("La Aplicacion ya existe.");
         return(Seguridad.updAplicacion(Aplicacion, App));
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
예제 #8
0
        public static List <AplicacionBE> ListarAplicaciones(UsuarioBE usuarioBE)
        {
            List <AplicacionBE> lstResultadosBE = new List <AplicacionBE>();
            DBBaseDatos         baseDatosDA     = new DBBaseDatos();

            baseDatosDA.Configurar();
            baseDatosDA.Conectar();
            try
            {
                //baseDatosDA.CrearComando("USP_LISTAR_APLICACIONES", CommandType.StoredProcedure);
                baseDatosDA.CrearComando("USP_APLICACION", CommandType.StoredProcedure);
                baseDatosDA.AsignarParametroCadena("@PCH_TIPO_TRANSACCION", "S", true);
                baseDatosDA.AsignarParametroCadena("@PVC_ID_USUARIO", usuarioBE.IdUsuario, true);
                baseDatosDA.AsignarParametroCadena("@PCH_ID_PERFIL", usuarioBE.Perfil.IdValor, true);

                DbDataReader drDatos = baseDatosDA.EjecutarConsulta();

                while (drDatos.Read())
                {
                    AplicacionBE item = new AplicacionBE();

                    item.IdAplicacion = drDatos.GetString(drDatos.GetOrdinal("VC_ID_APLICACION"));
                    item.Nombre       = drDatos.GetString(drDatos.GetOrdinal("VC_NOMBRE"));
                    if (!drDatos.IsDBNull(drDatos.GetOrdinal("VC_DESCRIPCION")))
                    {
                        item.Descripcion = drDatos.GetString(drDatos.GetOrdinal("VC_DESCRIPCION"));
                    }
                    item.URLDefault   = drDatos.GetString(drDatos.GetOrdinal("VC_URL_DEFAULT"));
                    item.Icono        = drDatos.GetString(drDatos.GetOrdinal("VC_ICONO"));
                    item.EstiloIcono  = drDatos.GetString(drDatos.GetOrdinal("VC_ESTILO_ICONO"));
                    item.EstiloTitulo = drDatos.GetString(drDatos.GetOrdinal("VC_ESTILO_TITULO"));
                    item.EstiloBoton  = drDatos.GetString(drDatos.GetOrdinal("VC_ESTILO_BOTON"));

                    lstResultadosBE.Add(item);
                }
                drDatos.Close();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                baseDatosDA.Desconectar();
                baseDatosDA = null;
            }

            return(lstResultadosBE);
        }
예제 #9
0
        public bool updAplicacion(AplicacionBE Aplicacion, Int64 App)
        {
            linqIELDataBaseDataContext dboSegLatino = new linqIELDataBaseDataContext();

            try
            {
                bool bFlag = true;
                dboSegLatino.sp_updAplicacion(Aplicacion.IDAPLICACION, Aplicacion.DESCRIPCION, Aplicacion.PASSWORD, Aplicacion.ACTIVO);
                return(bFlag);
            }
            catch (Exception ex)
            {
                StackTrace st      = new StackTrace(true);
                CommonDA   ComunDA = new CommonDA();
                ComunDA.insErrorDB("Error: " + ex.Message + " En El Metodo: " + MethodBase.GetCurrentMethod().Name, st, "", App.ToString());
                throw new Exception(ex.Message);
            }
        }
예제 #10
0
        public static String ObtenerHTMLAplicacionActual(AplicacionBE aplicacioneActual)
        {
            StringBuilder sbAplicaciones = new StringBuilder();
            String        strResultado   = "";

            sbAplicaciones.Append("<div class=\"row\">");

            sbAplicaciones.Append("<div class=\"ms-feature col-sx-12 card flipInX animated\">");
            sbAplicaciones.Append("<div class=\"text-center card-block\">");
            sbAplicaciones.Append("<span class=\"ms-icon ms-icon-circle ms-icon-xxlg " + aplicacioneActual.EstiloIcono + " \">");
            sbAplicaciones.Append("<span class=\"" + aplicacioneActual.Icono + "\"></span>");
            sbAplicaciones.Append("</span>");
            sbAplicaciones.Append("<h4 class=\"" + aplicacioneActual.EstiloTitulo + "\">" + aplicacioneActual.Nombre + "</h4>");
            sbAplicaciones.Append("<p>" + aplicacioneActual.Descripcion + "</p>");
            //sbAplicaciones.Append("<a href=\"" + item.URLDefault + "?ticket=" + Usuario.Ticket + "\" class=\"btn " + item.EstiloBoton + " btn-raised\"><span class=\"glyphicon glyphicon-log-in\"></span> Entrar</a>");
            //sbAplicaciones.Append("<a href=\"" + item.URLDefault + "?ticket=" + Usuario.Ticket + "&aplicacion=" + item.IdAplicacion + "\" class=\"btn " + item.EstiloBoton + " btn-raised\"><span class=\"glyphicon glyphicon-log-in\"></span> Entrar</a>");
            sbAplicaciones.Append("</div>");
            sbAplicaciones.Append("</div>");
            sbAplicaciones.Append("</div>");

            strResultado = sbAplicaciones.ToString();
            return(strResultado);
        }
예제 #11
0
        public void checkPermisoMethServ(Int64 App, string sPasswordApp, string sMethodName, string sServiceName)
        {
            try
            {
                SecurityDA          SeguridadDA = new SecurityDA();
                AplicacionBE        PermisosApp = new AplicacionBE();
                EncryptDecryptSecVB CrypDecrypt = new EncryptDecryptSecVB();

                bool Permiso = false;
                PermisosApp = SeguridadDA.checkPermisoXAplicacion(App, sPasswordApp);
                if (CrypDecrypt.DecryptString(PermisosApp.PASSWORD, "") == CrypDecrypt.DecryptString(sPasswordApp, ""))
                {
                    Permiso = true;
                }
                ////Si sale negativo mandamos una excepcion controlada
                if (!Permiso)
                {
                    throw new SeguridadException("La aplicación no tiene acceso al servicio: " + sServiceName);
                }

                Permiso = false;
                List <WCFMetodosBE> MetodosXApp = new List <WCFMetodosBE>();
                MetodosXApp = SeguridadDA.checkMetodoXApp(App, sServiceName, sMethodName);
                if (MetodosXApp.Count == 0)
                {
                    throw new SeguridadException("La aplicación no tiene acceso al método: " + sMethodName);
                }
            }
            catch (SeguridadException exCu)
            {
                throw new SeguridadException(exCu.Message);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
예제 #12
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                #region Agregamos los css y javascript
                UtilitarioBL.AddClassMaster(this.Page);
                UtilitarioBL.AddScriptMaster(this.Page);
                #endregion

                #region Asignamos los HiddenField e imagenes
                EntidadDetalleBE rutaVirtualEstandar = new EntidadDetalleBE();
                rutaVirtualEstandar.Entidad.IdEntidad = "CONF";
                rutaVirtualEstandar.IdValor           = "RUTA_VIRT_EST";
                rutaVirtualEstandar         = EntidadDetalleBL.ListarEntidadDetalle(rutaVirtualEstandar)[0];
                hfRutaVirtualEstandar.Value = rutaVirtualEstandar.ValorCadena1;
                UtilitarioBL.AsignarImagen(rutaVirtualEstandar, imgLogo, "/images/LogoSIAE60.png");
                #endregion

                UsuarioBE    Usuario      = (UsuarioBE)Session["Usuario"];
                AplicacionBE aplicacionBE = (AplicacionBE)Session["Aplicacion"];

                if (Session["Usuario"] != null)
                {
                    lblIdUsuario.InnerText      = Usuario.IdUsuario;
                    lblNombreCompleto.InnerText = Usuario.NombreRazon + " " + Usuario.ApellidoPaterno;
                    lblPerfil.InnerText         = Usuario.Perfil.ValorCadena1;
                }
                else
                {
                    divUsuario.Visible = false;
                    btnUsuario.Visible = false;
                }

                #region Cargamos el menu de opciones
                if (Session["Aplicacion"] != null)
                {
                    if (aplicacionBE.Opciones.Count().Equals(0))
                    {
                        aplicacionBE.Opciones = OpcionBL.ListarOpciones(Usuario, aplicacionBE);
                    }
                    if (aplicacionBE.Opciones.Count() > 0)
                    {
                        StringBuilder sbOpciones       = new StringBuilder();
                        String        strIdOpcionPadre = "";
                        //Int32 intIteracion = 0;

                        sbOpciones.Append("<div class=\"container-fluid\">");
                        #region Div de navbar-toggle
                        sbOpciones.Append("<div class=\"navbar-header\">");
                        sbOpciones.Append("<button type=\"button\" class=\"navbar-toggle collapsed\" data-toggle=\"collapse\" data-target=\"#divMenu\">");
                        sbOpciones.Append("<span class=\"sr-only\">Menu</span>");
                        sbOpciones.Append("<span class=\"icon-bar\"></span>");
                        sbOpciones.Append("<span class=\"icon-bar\"></span>");
                        sbOpciones.Append("<span class=\"icon-bar\"></span>");
                        sbOpciones.Append("</button>");
                        sbOpciones.Append("</div>");
                        #endregion
                        #region Div de menu
                        sbOpciones.Append("<div class=\"collapse navbar-collapse\" id=\"divMenu\" runat=\"server\">");
                        sbOpciones.Append("<ul class=\"nav navbar-nav navbar-base-center\">");

                        foreach (OpcionBE item in aplicacionBE.Opciones)
                        {
                            IEnumerable <OpcionBE> OpcionesHijo = aplicacionBE.Opciones.Where(T => T.IdOpcionPadre == item.IdOpcion).Select(T => T);
                            String strCssSweepToTop             = "";
                            String strHref = "";
                            if (item.Orden.Length == 2)//Solo cuando es el primer nivel del menu
                            {
                                strCssSweepToTop = "hvr-base-sweep-to-top-primary";
                            }
                            if (item.URL != null && item.URL.ToString().Length > 0)//Solo si hay valor en la propiedad
                            {
                                strHref = "href=\"" + item.URL + "\"";
                            }

                            #region Comparamos el id del ultimo padre recorrido con el id padre de la opcion actual para cerrar el submenu
                            if (strIdOpcionPadre.Length > 0)
                            {
                                if ((item.IdOpcionPadre != null ? item.IdOpcionPadre : "") != strIdOpcionPadre)
                                {
                                    sbOpciones.Append("</ul>");
                                    sbOpciones.Append("</li>");
                                    strIdOpcionPadre = "";
                                }
                            }
                            #endregion

                            if (OpcionesHijo.Count() > 0)
                            {
                                sbOpciones.Append("<li class=\"dropdown " + strCssSweepToTop + "\"><a " + strHref + " class=\"dropdown-toggle\" data-toggle=\"dropdown\" role =\"button\"><span class=\"" + item.Icono + "\"></span> " + item.Nombre + " <span class=\"caret\"></span></a>");
                                sbOpciones.Append("<ul class=\"dropdown-menu\">");
                                strIdOpcionPadre = item.IdOpcion;
                            }
                            else
                            {
                                sbOpciones.Append("<li class=\"" + strCssSweepToTop + "\"><a " + strHref + "><span class=\"" + item.Icono + "\"></span> " + item.Nombre + "</a></li>");
                            }
                        }

                        #region Verificamos si hubo algun padre que se estuvirera recocciendo para cerrarlo
                        if (strIdOpcionPadre.Length > 0)
                        {
                            sbOpciones.Append("</ul>");
                            sbOpciones.Append("</li>");
                            strIdOpcionPadre = "";
                        }
                        #endregion

                        #endregion

                        sbOpciones.Append("</div>");
                        sbOpciones.Append("</div>");

                        divNav.Attributes.Add("class", "navbar-base navbar-base-primary");
                        divNav.InnerHtml = sbOpciones.ToString();
                    }
                }
                #endregion
            }
        }