首页 > 解决方案 > 在基于策略的授权中抛出异常

问题描述

我已经在我的 WebApi 项目中实现了策略库授权。它工作正常,唯一的问题是我无法更改失败消息。经过一番调查,我发现这个功能还没有实现。此处跟踪的问题。作为一种解决方法,我正在考虑抛出异常而不是context.Fail().

这是个好主意吗?这可能有一些问题吗?

示例代码:

public class MySampleAuthorizationHandler : AuthorizationHandler<MySampleRequirement>
{
    protected override async Task HandleRequirementAsync(
        AuthorizationHandlerContext context,
        MySampleRequirement requirement)
    {
        if (true)
        {
            throw new UnauthorizedAccessException("My custom message");
        }
        else
        {
            context.Succeed(requirement);
        }
        return Task.CompletedTask;
    }
}

标签: c#asp.net-coreasp.net-core-mvcasp.net-core-webapi

解决方案


推荐阅读