다음을 통해 공유


ASP0025: AddAuthorizationBuilder를 사용하여 권한 부여 서비스를 등록하고 정책을 생성합니다.

규칙 ID ASP0025
범주 사용
수정 사항이 주요 변경인지 여부 주요 변경 아님

원인

사용 AddAuthorization 은 새 AddAuthorizationBuilder로 변환할 수 있습니다.

규칙 설명

권한 부여 서비스를 등록하고 정책을 생성하는 데 사용합니다 AddAuthorizationBuilder .

위반 문제를 해결하는 방법

이 규칙 위반 문제를 해결하려면 사용 AddAuthorization AddAuthorizationBuilder량을 .로 바꿉다.

코드 수정은 다음 속성 AuthorizationOptions에 대한 setter의 모든 사용을 변환합니다.

이러한 setter 사용은 다음에서 동일한 메서드 호출로 변환됩니다.AuthorizationBuilder

다음 멤버 중 어느 것을 사용하도록 전달된 AddAuthorization 구성 작업이 다음 멤버 AuthorizationOptions를 사용하는 경우 진단이 보고되지 않습니다.

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

경고를 표시하지 않는 경우

이 진단의 심각도 수준은 정보입니다. 새 구문을 사용하지 않으려면 경고를 표시하지 않습니다.