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); } }
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); }