Customaze API属性

时间:2019-04-10 07:46:20

标签: asp.net-core

下午好,我学习.NET CORE。如何为控制器API创建自定义属性?我想允许从某些IP地址向控制器发出请求。

在ASP中。在Net框架中,我创建了一个继承自“ AuthorizeAttribute”的自定义属性,然后将属性添加到控制器中。

我希望控制器通过特定的IP地址工作

1 个答案:

答案 0 :(得分:0)

创建从IAuthorizationFilter继承的属性,使其具有与以前的ASP.NET框架相似的行为。

public class IpAuthorizationAttribute : AuthorizeAttribute, IAuthorizationFilter
{
    public void OnAuthorization(AuthorizationFilterContext context)
    {
        if (/*ip not allowed*/)
        {
            //return 401 Unauthorized
            context.Result = new UnauthorizedResult();
        }
    }
}

但是,Microsoft建议对ASP.NET Core具有policy based授权。