下午好,我学习.NET CORE。如何为控制器API创建自定义属性?我想允许从某些IP地址向控制器发出请求。
在ASP中。在Net框架中,我创建了一个继承自“ AuthorizeAttribute”的自定义属性,然后将属性添加到控制器中。
我希望控制器通过特定的IP地址工作
答案 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授权。