基于策略的授权的自定义JSON响应被覆盖

时间:2016-06-03 02:31:31

标签: c# asp.net-core asp.net-core-mvc .net-core

我已经制定了自定义政策要求和处理程序。它工作正常,如果不符合要求,则返回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消息...处理此问题的最佳方法是什么?

0 个答案:

没有答案