示例#1
0
 public override void OnAuthorization
     (AuthorizationContext filterContext)
 {
     base.OnAuthorization(filterContext);
     if (filterContext.HttpContext.Request.IsAuthenticated)
     {
         EmpleadoPrincipal empleado =
             HttpContext.Current.User as EmpleadoPrincipal;
         if (empleado.IsInRole("PRESIDENTE") == false &&
             empleado.IsInRole("DIRECTOR") == false &&
             empleado.IsInRole("ANALISTA") == false)
         {
             //SI EL USUARIO NO ES ADMINISTRADOR
             //LE ENVIAMOS A OTRA RUTA (ErrorAcceso)
             RouteValueDictionary rutaacceso =
                 new RouteValueDictionary(new
             {
                 controller = "Validacion"
                 ,
                 action = "ErrorAcceso"
             });
             RedirectToRouteResult direccionacceso =
                 new RedirectToRouteResult(rutaacceso);
             filterContext.Result = direccionacceso;
         }
     }
     else
     {
         //EL USUARIO NO SE HA VALIDADO TODAVIA
         //Y HACEMOS UN ROUTING HACIA EL LOGIN
         //PARA HACER UN ROUTING (INTERCEPTAR LA PETICION)
         //NECESITAMOS CREAR LA CLASE
         //RouteValueDictionary CON CONTROLLER Y ACTION
         //DONDE DESEAMOS ENVIAR LA NUEVA PETICION
         RouteValueDictionary ruta =
             new RouteValueDictionary(new
         {
             controller = "Validacion"
             ,
             action = "Login"
         });
         //MEDIANTE LA CLASE RedirectToRouteResult
         //INDICAMOS LA PROPIA REDIRECCION CON LA RUTA
         RedirectToRouteResult direccionlogin =
             new RedirectToRouteResult(ruta);
         //MEDIANTE filtercontext, TENEMOS UNA
         //PROPIEDAD RESULT QUE NOS PERMITE REDIRIGIR
         //A OTRAS RUTAS
         filterContext.Result = direccionlogin;
     }
 }
示例#2
0
        // GET: Empleados
        public ActionResult Index()
        {
            //RECUPERAMOS AL EMPLEADOS DE LA SESION
            EmpleadoPrincipal empleado =
                HttpContext.User as EmpleadoPrincipal;
            List <EMP> lista;

            if (empleado.IsInRole("PRESIDENTE") == true)
            {
                lista = modelo.GetEmpleados();
            }
            else
            {
                lista = modelo.GetEmpleadosSubordinados(empleado.NumeroEmpleado);
            }
            return(View(lista));
        }