protected List <string> guardarPermisos(string recursos, TB_ROL rol)
        {
            List <string> err = null;

            if (!string.IsNullOrEmpty(recursos))
            {
                try
                {
                    rol = new A_ROL().getRolByNombre(rol.NOMBRE); //Consultado el rol que acaba de ser guardado

                    string[] r = recursos.Split(',');             //Separando los PK de los recursos por coma

                    foreach (string i in r)
                    {
                        if (!string.IsNullOrEmpty(i))
                        {
                            TB_RECURSO recurso = new TB_RECURSO();
                            recurso.ID_RECURSO = int.Parse(i);
                            err = new A_PERMISO().createPermiso(rol, recurso, ((BLL.Modelos.ModelosVistas.MV_DetalleUsuario)Session["usuario"]).ID_USUARIO);
                        }
                    }
                }
                catch (Exception e)
                {
                    err = new List <string>();
                    err.Add(e.Message);
                }
            }

            return(err);
        }
        protected void borrarPermisos(TB_ROL rol)
        {
            //Borrando permisos anteriores
            List <TB_RECURSO> p_old = new A_PERMISO().getRecursosByRol(rol.ID_ROL);

            foreach (TB_RECURSO p in p_old)
            {
                TB_PERMISO temp = new TB_PERMISO();
                temp.ID_ROL     = rol.ID_ROL;
                temp.ID_PERMISO = p.ID_RECURSO;

                new A_PERMISO().hardDeletePermiso(temp);
            }
        }
예제 #3
0
        protected bool isAuthorized(string url)
        {
            TB_RECURSO accediendo = new A_RECURSO().getRecursoByUrl(url);                                                  //Buscando el recurso asociado a esa URL

            List <TB_RECURSO> recursos = new A_PERMISO().getRecursosByRol(((MV_DetalleUsuario)Session["usuario"]).ID_ROL); //Buscando todos los recursos asignados al rol del usuario

            foreach (TB_RECURSO recurso in recursos)                                                                       //Buscando si el recurso al que desea acceder se encuentra entre los asignados
            {
                var req = Request.Path.Replace(Request.ApplicationPath, "");

                Regex regex = new Regex(@recurso.URL_RECURSO);

                if (regex.IsMatch(req))
                {
                    return(true);
                }
            }

            return(false);
        }