ASP0025: AddAuthorizationBuilder를 사용하여 권한 부여 서비스를 등록하고 정책을 생성합니다.
값 | |
---|---|
규칙 ID | ASP0025 |
범주 | 사용 |
수정 사항이 주요 변경인지 여부 | 주요 변경 아님 |
원인
사용 AddAuthorization 은 새 AddAuthorizationBuilder로 변환할 수 있습니다.
규칙 설명
권한 부여 서비스를 등록하고 정책을 생성하는 데 사용합니다 AddAuthorizationBuilder
.
위반 문제를 해결하는 방법
이 규칙 위반 문제를 해결하려면 사용 AddAuthorization
AddAuthorizationBuilder
량을 .로 바꿉다.
코드 수정은 다음 속성 AuthorizationOptions에 대한 setter의 모든 사용을 변환합니다.
이러한 setter 사용은 다음에서 동일한 메서드 호출로 변환됩니다.AuthorizationBuilder
다음 멤버 중 어느 것을 사용하도록 전달된 AddAuthorization
구성 작업이 다음 멤버 AuthorizationOptions
를 사용하는 경우 진단이 보고되지 않습니다.
- GetPolicy(String) 메서드
- getter DefaultPolicy
- getter FallbackPolicy
- getter InvokeHandlersAfterFailure
AuthorizationBuilder
에는 이러한 멤버 AuthorizationOptions
에 해당하는 항목이 없으므로 변환할 수 없습니다.
구성 작업이 관련이 없는 작업을 포함하도록 AddAuthorization
전달된 경우 진단이 보고되지 AuthorizationOptions
않습니다. 코드 수정은 관련 없는 작업을 흐름 API에 AddAuthorizationBuilder
자동으로 매핑할 수 없습니다.
다음 예제에서는 이 진단을 트리거하는 코드를 보여 줍니다.
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();
다음 예제에서는 코드 수정을 적용한 결과를 보여줍니다.
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();
경고를 표시하지 않는 경우
이 진단의 심각도 수준은 정보입니다. 새 구문을 사용하지 않으려면 경고를 표시하지 않습니다.
ASP.NET Core