Beispiel #1
0
        public void OnActionExecuting(ActionExecutingContext context)
        {
            string token = context.HttpContext.Request.Headers["Authorization"];

            if (token == null)
            {
                context.Result = new ContentResult()
                {
                    Content = "Token is required",
                };
            }
            using (var sessions = new SessionLogic(new UserRepository(ContextFactory.GetNewContext()))) {
                if (!sessions.IsValidToken(token))
                {
                    context.Result = new ContentResult()
                    {
                        Content = "Invalid Token",
                    };
                }
                if (!sessions.HasLevel(token, _role))
                {
                    context.Result = new ContentResult()
                    {
                        Content = "The user isen't " + _role,
                    };
                }
            }
        }
Beispiel #2
0
 private void VerifyToken(Guid token, ActionExecutingContext context)
 {
     // Usamos using asi nos aseguramos que se llame el Dispose de este `sessions` enseguida salgamos del bloque
     using (var sessions = new SessionLogic(null, null)) {
         // Verificamos que el token sea valido
         if (!sessions.IsValidToken(token))
         {
             context.Result = new ContentResult()
             {
                 Content = "Debe iniciar sesión para acceder",
             };
         }
         // Verificamos que el rol del usuario sea correcto
         if (!sessions.HasLevel(token, role))
         {
             context.Result = new ContentResult()
             {
                 Content = "No tiene permiso para acceder",
             };
         }
     }
 }