public void OnAuthorization(AuthorizationContext filterContext)
{
if (filterContext.Controller is EntityController)
EntityBuilder = ((EntityController)filterContext.Controller).EntityBuilder;
else
{
if (!filterContext.HttpContext.User.Identity.IsAuthenticated)
if (filterContext.RouteData.DataTokens["loginUrl"] == null)
filterContext.Result = new RedirectResult(ComBoostAuthentication.LoginUrl + "?returnUrl=" + Uri.EscapeDataString(filterContext.RequestContext.HttpContext.Request.Url.PathAndQuery));
else
filterContext.Result = new RedirectResult(filterContext.RouteData.DataTokens["loginUrl"].ToString() + "?returnUrl=" + Uri.EscapeDataString(filterContext.RequestContext.HttpContext.Request.Url.PathAndQuery));
return;
}
if (filterContext.Controller is IHaveEntityMetadata)
Metadata = ((IHaveEntityMetadata)filterContext.Controller).Metadata;
RouteData = filterContext.RouteData;
if (!AuthorizeCore(filterContext.RequestContext.HttpContext))
{
if (Action != EntityAuthorizeAction.None && filterContext.HttpContext.User.Identity.IsAuthenticated)
filterContext.Result = new HttpUnauthorizedResult();
else
if (filterContext.RouteData.DataTokens["loginUrl"] == null)
filterContext.Result = new RedirectResult(ComBoostAuthentication.LoginUrl + "?returnUrl=" + Uri.EscapeDataString(filterContext.RequestContext.HttpContext.Request.Url.PathAndQuery));
else
filterContext.Result = new RedirectResult(filterContext.RouteData.DataTokens["loginUrl"].ToString() + "?returnUrl=" + Uri.EscapeDataString(filterContext.RequestContext.HttpContext.Request.Url.PathAndQuery));
}
}