コード例 #1
0
        public List <MenuDTO> ListarMenuPrincipalAccesos(string idTipoUsuario)
        {
            List <MenuDTO>       menuReturn = new List <MenuDTO>();
            List <MenuPrincipal> menu       = this.ObtenerMenuPrincipal();

            TipoUsuario tipoUsuario = this.TipoUsuarioObtener(idTipoUsuario.ConvertirInt());

            TipoUsuarioAcceso tipoUsuarioAcceso = null;
            NivelAcceso       permiso           = null;

            menu.ForEach(delegate(MenuPrincipal menuPrincipal)
            {
                List <MenuSecundario> items = menuPrincipal.Items.ToList <MenuSecundario>()
                                              .OrderBy(item => item.Orden)
                                              .ToList <MenuSecundario>();

                if (items == null || items.Count == 0)
                {
                    tipoUsuarioAcceso = tipoUsuario.Permisos.ToList <TipoUsuarioAcceso>().Find(delegate(TipoUsuarioAcceso acceso) { return(acceso.IdMenuPrincipal == menuPrincipal.Id); });
                    if (tipoUsuarioAcceso != null)
                    {
                        permiso = tipoUsuarioAcceso.NivelAcceso;
                    }
                    else
                    {
                        permiso = new NivelAcceso((int)NIVEL_ACCESO.SIN_ACCESO, "SIN ACCESO");
                    }
                }
                else
                {
                    permiso = new NivelAcceso(0, string.Empty);
                }

                menuReturn.Add(new MenuDTO(menuPrincipal.Id, menuPrincipal.Descripcion, -1, string.Empty, permiso.Id, permiso.Descripcion));

                items.ForEach(delegate(MenuSecundario menuSecundario)
                {
                    tipoUsuarioAcceso = tipoUsuario.Permisos.ToList <TipoUsuarioAcceso>().Find(delegate(TipoUsuarioAcceso acceso) { return(acceso.IdMenuSecundario == menuSecundario.Id); });
                    if (tipoUsuarioAcceso != null)
                    {
                        permiso = tipoUsuarioAcceso.NivelAcceso;
                    }
                    else
                    {
                        permiso = new NivelAcceso((int)NIVEL_ACCESO.SIN_ACCESO, "SIN ACCESO");
                    }

                    menuReturn.Add(new MenuDTO(menuPrincipal.Id, string.Empty, menuSecundario.Id, menuSecundario.Descripcion, permiso.Id, permiso.Descripcion));
                });
            });

            return(menuReturn);
        }
コード例 #2
0
 public void ObtenerNivelAcceso(Guid uid)
 {
     _NivelAcceso = repositorioNiveles.Find(uid);
 }
コード例 #3
0
 public void ObtenerNivelAccesoPorNombre(string nombre)
 {
     _NivelAcceso = repositorioNiveles.FindByName(nombre);
 }
コード例 #4
0
        public ActionResult Inicio(string u, string a, string t, string na, string p)
        {
            List <NivelAcceso> coleccionNivelAcceso = new List <NivelAcceso>();
            NivelAcceso        nivelAcceso          = new NivelAcceso();
            SesionAplicacion   objAplicacion        = new SesionAplicacion();
            List <Parametros>  param = new List <Parametros>();
            string             tokenPortal;
            List <string>      permisos = new List <string>();

            List <Token> tokens   = new List <Token>();
            Token        objToken = new Token();

            //comentar para probar
            Session["UserIdApp"]     = ViewBag.UserIdApp = u;
            Session["App"]           = ViewBag.App = a;
            Session["TknApp"]        = t;
            Session["IdNivelAcceso"] = na;
            Session["IdPortal"]      = p;
            //

            ViewBag.CerrarVentana = false;

            //-------------------------
            try
            {
                if (u != null || u != "")
                {
                    //   tokens = objToken.consultarTokenAplicacionPadre(Session["UserIdApp"].ToString(), p) ?? new List<Token>();
                    tokens = objToken.consultarTokenAplicacionPadre(u, p) ?? new List <Token>();
                }

                if (tokens.Any(x => x.idAplicacion == a)) // Verifica que ya exista un token para la aplicacion
                {
                    objToken = tokens.Find(x => x.idAplicacion == a);
                    if (t == objToken.token) // SE VALIDA SI EL TOKEN DE LA APLICACION CORRESPONDE AL TOKEN EN LA BD
                    {
                        string MAC = objAplicacion.GetMACAddress();

                        objAplicacion.getActualizarTokenAplicacion(u, a, p, t, MAC, out param);

                        if (param.Find(x => x.Nombre == "p_Salida").Valor == "1") // SE VALIDA SI SE GENERO BIEN UN NUEVO TOKEN DE APLICACION
                        {
                            // Session["TknApp"] = param.Find(x => x.Nombre == "p_TokenGenerado").Valor;
                            TempData["tk"] = param.Find(x => x.Nombre == "p_TokenGenerado").Valor;
                            tokenPortal    = tokens.Find(x => x.idAplicacion == p).token;

                            // Crea la cookie de sesion para el módulo IGED
                            var SesionIged = new HttpCookie("SesionIged");
                            SesionIged["UserIdApp"]     = u;
                            SesionIged["App"]           = a;
                            SesionIged["TknApp"]        = param.Find(x => x.Nombre == "p_TokenGenerado").Valor;
                            SesionIged["Fecha"]         = String.Format("{0:dd/MM/yyyy HH:mm:ss}", DateTime.Now);
                            SesionIged["IdNivelAcceso"] = na;
                            SesionIged["IdPortal"]      = p;


                            ViewBag.CerrarVentana = false;
                            ViewBag.Lista         = null;
                            //cargarOpciones();
                            ViewBag.BusquedaMaestro = "SI";

                            param = new List <Parametros>();
                            objAplicacion.nombresCompletosUsuario(u, out param);

                            //Session["NombresUsuario"] = param.Find(x => x.Nombre == "p_Nombres").Valor;
                            //Session["USUARIO"] = param.Find(x => x.Nombre == "p_Usuario").Valor;
                            //Session["NIVELACCESO"] = coleccionNivelAcceso;

                            SesionIged["NombresUsuario"] = param.Find(x => x.Nombre == "p_Nombres").Valor;
                            SesionIged["USUARIO"]        = param.Find(x => x.Nombre == "p_Usuario").Valor;

                            coleccionNivelAcceso = nivelAcceso.consultarNivelAcceso(u, a);
                            var serializedData = Newtonsoft.Json.JsonConvert.SerializeObject(coleccionNivelAcceso);
                            SesionIged["NIVELACCESO"] = serializedData;

                            SesionIged.Expires = DateTime.Now.AddHours(8);
                            Response.Cookies.Add(SesionIged);
                            Encuesta objSesion = new Encuesta();
                            //borrado session para el usuario
                            objSesion.eliminarSesionIdUsuario(u);
                            //CAMBIO SESIONES --insercion primera vez
                            string variables = "ID_USUARIO,PERFILES,VALIDAPERFIL,MODELO,MODELOHOGAR,VALINCLUIDO,GRUPOVICTIMA,CODHOGAR,";
                            variables = variables + "TEMASVALIDAR,CAPTERMI,TEMA,IDTEMA,FLUJO,COLLECIONPERSONAS,PREGUNTAACTUAL,LISTADEPARTAMENTOS,";
                            variables = variables + "LISTAMUNICIPIOS,OPCIONESRESPUESTA,LISTAAUTO,TEMAS,PREGUNTAINICIAL,LISTADEPARTAMENTOSDT,LISTADT,LISTAPA,SYSGUID,LISTAMU,MODELOPERSONA";
                            objSesion.insertarVariablesSesion(variables, u);
                            return(View("Inicio"));
                            // return View("~/Views/Encuesta/ConformacionHogar.cshtml");
                        }
                        else
                        {
                            TempData["inv"] = "Token de Sesión para la aplicación invalido.";
                        }
                    }
                    else
                    {
                        TempData["inv"] = "Token de Sesión para la aplicación invalido.";
                    }
                }
                else
                {
                    TempData["inv"] = "Token de Sesión para la aplicación invalido.";
                }

                //-----------
            }
            catch (Exception e)
            {
                TempData["inv"] = e.Message.ToString();
            }

            return(View("SesionInvalida"));
        }