System.Web.Mvc.EntityAuthorizeAttribute.OnAuthorization C# (CSharp) Method

OnAuthorization() public method

Called when authorization is required.
public OnAuthorization ( AuthorizationContext filterContext ) : void
filterContext AuthorizationContext The filter context.
return void
        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));
            }
        }