我想为两步授权添加自定义策略,以便在第一步之后,用户可以访问第二步,然后访问所有内容。当我有一个策略时,一切正常,但当我添加另一个策略时,我开始出现这个错误。我如何添加策略:
AuthorizationOptions authOptions = new AuthorizationOptions();
authOptions.AddPolicy("FirstStepCompleted", policy => policy.RequireClaim("FirstStepCompleted"));
authOptions.AddPolicy("Authorized", policy => policy.RequireClaim("Authorized"));
services.AddAuthorization(o => o = authOptions);
services.AddAuthorization
(
options => options.AddPolicy("FirstStepCompleted",
policy => policy.RequireClaim("FirstStepCompleted"))
);
我做错了什么?
UPD1。忘记了例外情况:
InvalidOperationException:未找到名为“FirstStepCompleted”的授权策略。
Microsoft.AspNetCore.Authorization.AuthorizationPolicy.CombineAsync(IAuthorizationPolicyProvider policyProvider,IEnumerable AuthorizationData)