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 AddAuthorizationBuilder
değ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 AuthorizationOptions
herhangi birini kullandığında tanılama bildirilmediğinde bildirilir:
- GetPolicy(String) yöntemi
- Alıcı DefaultPolicy
- Alıcı FallbackPolicy
- Alıcı InvokeHandlersAfterFailure
AuthorizationBuilder
bu üyeleri AuthorizationOptions
için eşdeğerleri olmadığından dönüştürülemezler.
öğesine geçirilen AddAuthorization
yapılandırma eylemi ile ilişkili AuthorizationOptions
olmayan işlemler içeriyorsa tanılama bildirilmez. Kod düzeltmesi, ilgisiz işlemlerin akıcı API'sine AddAuthorizationBuilder
otomatik 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.
ASP.NET Core
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin