首页 > 解决方案 > 如何在.net core 2.2 web API中传递带有“禁止”响应的字符串

问题描述

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

解决方案


我创建了这两个类(1. CustomError & 2. CustomUnauthorizedResult)并使用这些类来处理授权。在这里您可以传递动态消息和状态码。

public class CustomError
{
    public string Error { get; }

    public CustomError(string message)
    {
        Error = message;
    }
}

public class CustomUnauthorizedResult : JsonResult
{
    public CustomUnauthorizedResult(string message, int statusCode) : base(new CustomError(message))
    {
        StatusCode = statusCode;
    }
}

public class ClaimRequirementFilter : Microsoft.AspNetCore.Mvc.Filters.IAuthorizationFilter
{
    public void OnAuthorization(AuthorizationFilterContext context)
    {
        context.Result = new CustomUnauthorizedResult("Authorization failed.", statusCode:403);
    }
}

推荐阅读