我已经制定了自定义政策要求和处理程序。它工作正常,如果不符合要求,则返回403.
我试图返回一个自定义JSON对象,其中包含有关请求授权失败的原因的消息。以下是我使用的代码:
if (!_currentUserService.Permissions.CanGetSaleAnalysis)
{
var mvcContext = context.Resource as Microsoft.AspNet.Mvc.Filters.AuthorizationContext;
if (mvcContext != null)
{
var responseObj = ForbiddenResponseFactory.GetResponse(WorkbookAuthFailure.GetSaleAnalysis);
mvcContext.Result = new JsonErrorResult(403, responseObj);
}
}
else
{
context.Succeed(requirement);
}
似乎cookie中间件正在查看质询结果并覆盖响应,因此它不包含我的JSON消息...处理此问题的最佳方法是什么?