--- title: "ASP0025: Use AddAuthorizationBuilder to register authorization services and construct policies." ms.date: 05/11/2023 description: "Learn about analysis rule ASP0025: Use AddAuthorizationBuilder to register authorization services and construct policies." author: tdykstra monikerRange: '>= aspnetcore-8.0' ms.author: tdykstra uid: diagnostics/asp0025 --- # ASP0025: Use AddAuthorizationBuilder to register authorization services and construct policies. | | Value | |-|-| | **Rule ID** |ASP0025| | **Category** |Usage| | **Fix is breaking or non-breaking** |Non-breaking| ## Cause The use of can be converted to the new . ## Rule description Use `AddAuthorizationBuilder` to register authorization services and construct policies. ## How to fix violations To fix a violation of this rule, replace the usage of `AddAuthorization` with `AddAuthorizationBuilder`. The code fix converts any usage of the setters for the following properties of : * * * These setter usages are converted to equivalent method calls on : * * * No diagnostic is reported when the configure action passed to `AddAuthorization` uses any of the following members of `AuthorizationOptions`: * The method * The getter * The getter * The getter `AuthorizationBuilder` doesn't have equivalents for these members of `AuthorizationOptions`, so they can't be converted. No diagnostic is reported if the configure action passed to `AddAuthorization` contains operations unrelated to `AuthorizationOptions`. The code fix would not be able to automatically map unrelated operations to the fluent API of `AddAuthorizationBuilder`. The following example shows code that triggers this diagnostic: ```csharp var builder = WebApplication.CreateBuilder(args); builder.Services.AddAuthorization(options => { options.AddPolicy("AtLeast21", policy => policy.Requirements.Add(new MinimumAgeRequirement(21))); }); var app = builder.Build(); app.UseAuthorization(); app.Run(); ``` The following example shows the result of applying the code fix: ```csharp var builder = WebApplication.CreateBuilder(args); builder.Services.AddAuthorizationBuilder() .AddPolicy("AtLeast21", policy => { policy.Requirements.Add(new MinimumAgeRequirement(21))); }); var app = builder.Build(); app.UseAuthorization(); app.Run(); ``` ## When to suppress warnings The severity level of this diagnostic is Information. Suppress warnings if you don't want to use the new syntax.