/// <summary> /// Policy injection for all endpoints. /// </summary> /// <param name="context"></param> public override void OnActionExecuting(ActionExecutingContext context) { RetrieveParameters(context.HttpContext.Request.Headers, out var accessToken); SetCulture(Thread.CurrentThread); contextManager.BeginTransaction(); var result = ValidateRequest(context.Controller as IBaseController, accessToken).Result; if (ProceedWithExecution(result.isValid, authenticationLevel, HasAuthenticateAttribute(context.ActionDescriptor as ControllerActionDescriptor))) { base.OnActionExecuting(context); contextManager.Commit(); } else { context.Result = ControllerHelper.CreateErrorResponse(HttpStatusCode.Unauthorized, result.errPhrase); } }