Ejemplo n.º 1
0
        protected override void OnAuthorization(AuthorizationContext actionContext)
        {
            base.OnAuthorization(actionContext);
            //stop filtering if in edit mode
            if (PageEditing.PageIsInEditMode)
            {
                return;
            }

            if (!"XMLHttpRequest".Equals(actionContext.HttpContext.Request.Headers["X-Requested-With"], StringComparison.OrdinalIgnoreCase) &&
                (SiteUser == null && string.IsNullOrWhiteSpace(actionContext.HttpContext.User?.Identity?.Name)))
            {
                actionContext.Result = Redirect(ConfigurationManager.AppSettings["loginUrl"]);
                return;
            }

            var currentPage = PageContext.Page;
            var canAccess   = PageAccess.CanAccessPage(UserManager, _orgUserRepo, currentPage, actionContext.HttpContext);

            if (canAccess)
            {
                return;
            }

            actionContext.ReturnUnAuthorizedResult();
        }