Exemplo n.º 1
0
        public void Application_PostAuthenticateRequest
            (object sender, EventArgs e)
        {
            HttpCookie cookie = Request.Cookies["cookieempleado"];

            if (cookie != null)
            {
                String datoscookie = cookie.Value;
                FormsAuthenticationTicket ticket =
                    FormsAuthentication.Decrypt(datoscookie);
                String          idempleado = ticket.Name;
                String          oficio     = ticket.UserData;
                ModeloEmpleados modelo     = new ModeloEmpleados();
                EMP             emp        = modelo.BuscarEmpleado(int.Parse(idempleado));
                //IDENTIDAD
                GenericIdentity identidad = new GenericIdentity(emp.APELLIDO);
                //ROLES U OFICIOS DEL EMPLEADO
                List <String> oficios = new List <string>()
                {
                    oficio
                };
                EmpleadoPrincipal empleado = new EmpleadoPrincipal(identidad, oficios);
                empleado.Apellido       = emp.APELLIDO;
                empleado.Oficio         = emp.OFICIO;
                empleado.FechaAlta      = emp.FECHA_ALT.GetValueOrDefault();
                empleado.NumeroEmpleado = emp.EMP_NO;
                //ALMACENAMOS EL USUARIO PRINCIPAL EN LA SESION
                HttpContext.Current.User = empleado;
            }
        }
Exemplo n.º 2
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;
     }
 }
Exemplo n.º 3
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));
        }