Aracılığıyla paylaş


ASP0025: Yetkilendirme hizmetlerini kaydetmek ve ilkeler oluşturmak için AddAuthorizationBuilder'ı kullanın.

Değer
Kural Kimliği ASP0025
Kategori Kullanım
Hataya neden olan veya bozulmayan düzeltme Hataya neden olmayan

Neden

öğesinin AddAuthorization kullanımı yeni AddAuthorizationBuilderöğesine dönüştürülebilir.

Kural açıklaması

Yetkilendirme hizmetlerini kaydetmek ve ilkeler oluşturmak için kullanın AddAuthorizationBuilder .

İhlalleri düzeltme

Bu kuralın ihlalini düzeltmek için öğesinin kullanımını AddAuthorization ile AddAuthorizationBuilderdeğiştirin.

Kod düzeltmesi, aşağıdaki özellikleri AuthorizationOptionsiçin ayarlayıcıların kullanımını dönüştürür:

Bu ayarlayıcı kullanımları üzerinde AuthorizationBuildereşdeğer yöntem çağrılarına dönüştürülür:

yapılandırma eylemi AddAuthorization aşağıdaki üyelerinden AuthorizationOptionsherhangi birini kullandığında tanılama bildirilmediğinde bildirilir:

AuthorizationBuilder bu üyeleri AuthorizationOptionsiçin eşdeğerleri olmadığından dönüştürülemezler.

öğesine geçirilen AddAuthorization yapılandırma eylemi ile ilişkili AuthorizationOptionsolmayan işlemler içeriyorsa tanılama bildirilmez. Kod düzeltmesi, ilgisiz işlemlerin akıcı API'sine AddAuthorizationBuilderotomatik olarak eşlenemez.

Aşağıdaki örnekte bu tanılamayı tetikleyen kod gösterilmektedir:

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();

Aşağıdaki örnekte kod düzeltmesinin uygulanması sonucu gösterilmektedir:

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();

Uyarıların ne zaman bastırılması gerekiyor?

Bu tanılamanın önem düzeyi Bilgi'dir. Yeni söz dizimini kullanmak istemiyorsanız uyarıları gizleyin.