Aquí una captura de pantalla donde muestro la linea de código del resultado final de esta clase.
Como podemos ver en la imagen, antes de ejecutar cualquier procedimiento dentro de Constancia_ingreso, realizamos dos validaciones con Data Annotations.
- HttpPost, que viene con las librerias de C# MVC
- HasSession, clase heredada de AuthorizeAttribute. Clase que crearemos ahora.
public class HasSession : AuthorizeAttribute { private string[] _sessions; public HasSession(params string[] sessions) { this._sessions = sessions; } protected override bool AuthorizeCore(HttpContextBase httpContext) { bool flag = true; foreach (string obj in _sessions) { if (httpContext.Session[obj] == null) { flag = false; break; } } return flag; } protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext) { filterContext.HttpContext.Response.Redirect("/404/"); base.HandleUnauthorizedRequest(filterContext); } }
Este es un Data Annotations que verifica si existe o no una variable de sesión.
Creamos una clase y le ponemos el código de arriba y listo, con eso ya podemos usarlo para nuestros ActionResult.
No hay comentarios:
Publicar un comentario