C# Asp.Net核心策略正在运行所有要求,即使第一个要求没有成功
我正在为web api创建自定义策略。我假设在策略中要求经过身份验证的用户将阻止运行其他需求。我知道,添加多个需求会强制传递所有需求,因此我认为多个需求基本上是一种C# Asp.Net核心策略正在运行所有要求,即使第一个要求没有成功,c#,asp.net-core,authentication,authorization,policies,C#,Asp.net Core,Authentication,Authorization,Policies,我正在为web api创建自定义策略。我假设在策略中要求经过身份验证的用户将阻止运行其他需求。我知道,添加多个需求会强制传递所有需求,因此我认为多个需求基本上是一种&关系,但它们似乎更像是一种&关系 var requireUser = new AuthorizationPolicyBuilder() .RequireAuthenticatedUser() .RequireClaim(&
&
关系,但它们似乎更像是一种&
关系
var requireUser = new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.RequireClaim("USER_ID")
.Build();
options.DefaultPolicy = requireUser;
options.AddPolicy("RequireSomeDatabaseProperty",
p => p.Combine(requireUser)
.AddRequirements(new SomeDatabasePropertyRequirement));
我发现将进行数据库调用。由于它将基于用户ID
声明,我可能不得不在那里设置一个防护,使requireUser
策略完全静音
这是预期用途,还是这里出了什么问题。combine()
如果用户没有经过身份验证,我是否可以结束require用户的授权过程