Mercurial > altnet-hispano
view Agendas/trunk/src/Agendas.Web/Controllers/CustomAuthorizeAttribute.cs @ 185:2d02adb79322
Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio.
Se modifica la propiedad Fecha del Evento, renombrandola FechaInicio.
En el ModelView se agrega propiedades Duración y Hora del Evento cuando es Modificado, Nuevo y Agendado.
Las fechas ingresadas son creadas en sistema UTC
Queda pendiente Agregar duración a Google Calendar.
author | alabra |
---|---|
date | Tue, 09 Aug 2011 01:04:27 -0400 |
parents | 1deccd6c3cb2 |
children |
line wrap: on
line source
using System.Web; using System.Web.Mvc; using AltNetHispano.Agendas.Domain; using AltNetHispano.Agendas.Factories; namespace AltNetHispano.Agendas.Web.Controllers { public class CustomAuthorizeAttribute : AuthorizeAttribute { public string RedirectResultUrl { get; set; } public CustomAuthorizeAttribute() { RedirectResultUrl = "~/Error/NoAutorizado"; } protected override bool AuthorizeCore(HttpContextBase httpContext) { if (!httpContext.User.Identity.IsAuthenticated || !IdentityContext.IsAuthenticated()) return false; if (!string.IsNullOrWhiteSpace(Roles)) { using (NHibernateFactory.GetSessionScope()) { var roles = Roles.Split(','); if (!IdentityContext.IsInRole(roles)) { httpContext.Response.StatusCode = 403; return false; } } } return true; } protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext) { if (filterContext.HttpContext.Response.StatusCode == 403) filterContext.Result = new RedirectResult(RedirectResultUrl); else base.HandleUnauthorizedRequest(filterContext); } } }