C# 基于HttpVerb的ASP.Net核心全局授权过滤器
我正在尝试创建一个简单的策略,默认情况下,该策略允许匿名请求所有HttpGet获取,并授权其他任何内容(put、patch、post、delete等) 目前,我在任何地方都需要授权,如下所示:C# 基于HttpVerb的ASP.Net核心全局授权过滤器,c#,authentication,asp.net-core,authorization,httpverbs,C#,Authentication,Asp.net Core,Authorization,Httpverbs,我正在尝试创建一个简单的策略,默认情况下,该策略允许匿名请求所有HttpGet获取,并授权其他任何内容(put、patch、post、delete等) 目前,我在任何地方都需要授权,如下所示: var authorizationPolicy = new AuthorizationPolicyBuilder() .RequireAuthenticatedUser() .Build(); services.AddMvc(config => config.Fil
var authorizationPolicy = new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.Build();
services.AddMvc(config => config.Filters.Add(new AuthorizeFilter(authorizationPolicy)))
但实际上我想做这样的事情:
var authorizationPolicy = new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser(opt => opt.DesinationCalls.Where(m =>
false == m.Attributes.Any(x => x == "HttpGet"))).Build();
我不想记住向控制器添加属性,
有人知道如何通过Http谓词筛选默认授权策略吗?RequireAuthenticatedUser所做的只是向策略中添加DenyAnonymousAuthorizationRequirement。也许您可以创建自己的需求,该需求继承自AuthorizationHandler