Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Asp.Net核心策略正在运行所有要求,即使第一个要求没有成功_C#_Asp.net Core_Authentication_Authorization_Policies - Fatal编程技术网

C# Asp.Net核心策略正在运行所有要求,即使第一个要求没有成功

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(&

我正在为web api创建自定义策略。我假设在策略中要求经过身份验证的用户将阻止运行其他需求。我知道,添加多个需求会强制传递所有需求,因此我认为多个需求基本上是一种
&
关系,但它们似乎更像是一种
&
关系

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用户的授权过程