AddPolicy registers a named policy during ASP.NET Core configuration. For authorization, the policy name must match the name supplied to [Authorize], while a lambda defines the required claims or other conditions. section 24.3
Require a boarding-pass claim
builder.Services.AddAuthorizationBuilder().AddPolicy("CanEnterSecurity", policyBuilder => policyBuilder.RequireClaim("BoardingPassNumber")); Applying [Authorize("CanEnterSecurity")] to a Razor Page allows users whose claims include BoardingPassNumber. Supplying a specific value narrows the rule: RequireClaim("BoardingPassNumber", "A1234"). section 24.3
Complex policies combine requirements and handlers. Every requirement must be satisfied, and handlers contain the logic that determines whether a requirement succeeds. section 24.7
The same method name also defines named CORS policies inside AddCors. Those policies can be selected for endpoints with RequireCors or [EnableCors], so avoid confusing CORS configuration with authorization configuration. section 29.3.3
