Example #1
0
 private bool PermisoFilter(string tipo, Modulo modulo)
 {
     if (modulo.Tipo == tipo)
     {
         return(FrontUser.TienePermiso(modulo.Controller + "-" + modulo.Action, RolesPermisos.Permiso));
     }
     return(false);
 }
Example #2
0
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            base.OnActionExecuting(filterContext);
            if (Permiso == RolesPermisos.None)
            {
                switch (filterContext.ActionDescriptor.ActionName)
                {
                case "Create":
                    Permiso = RolesPermisos.Crear_Registro;
                    Modulo  = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName;
                    break;

                case "Details":
                    Permiso = RolesPermisos.Visualizar_Registro;
                    Modulo  = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName;
                    break;

                case "Edit":
                    Permiso = RolesPermisos.Editar_Registro;
                    Modulo  = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName;
                    break;

                case "Delete":
                    Permiso = RolesPermisos.Eliminar_Registro;
                    Modulo  = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName;
                    break;

                default:
                    Modulo  = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName + "-" + filterContext.ActionDescriptor.ActionName;
                    Permiso = RolesPermisos.Permiso;
                    break;
                }
            }
            if (!FrontUser.TienePermiso(Modulo ?? filterContext.ActionDescriptor.ControllerDescriptor.ControllerName, Permiso))
            {
                filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary(new
                {
                    controller = "Home",
                    action     = "Index",
                    estado     = "No autorizado"
                }));
            }
            Permiso = RolesPermisos.None;
        }