ASP0001: 권한 부여 미들웨어가 잘못 구성됨
값 | |
---|---|
규칙 ID | ASP0001 |
범주 | 사용 |
수정 사항이 주요 변경인지 여부 | 주요 변경 아님 |
원인
애플리케이션 시작 코드에서 UseAuthorization에 대한 순서가 벗어난 호출이 검색되었습니다.
규칙 설명
권한 부여가 엔드포인트 경로에 적용되려면 UseRouting
및 UseEndpoints
에 대한 호출 사이에 UseAuthorization
에 대한 호출이 표시되어야 합니다. 이 정책이 없으면 대체 정책이 구성된 경우 모든 요청에 권한을 부여하는 데 사용됩니다.
다음 코드를 생각해 봅시다.
app.UseStaticFiles();
app.UseAuthorization();
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapDefaultControllerRoute();
});
UseAuthorization
에 대한 호출이 UseRouting
앞에 나타나고 결과적으로 엔드포인트를 인식하지 않습니다.
위반 문제를 해결하는 방법
UseAuthorization
및 UseRouting
에 대한 호출이 수행되는 순서를 변경합니다.
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapDefaultControllerRoute();
});
경고를 표시하지 않는 경우
UseAuthorization
에 대한 호출이 나가는 모든 요청에 대한 대체 정책에 권한을 부여하거나 엔드포인트 라우팅을 사용하여 라우팅되지 않은 리소스에 권한을 부여하기 위한 경우 이 규칙을 표시하지 않는 것이 안전합니다.
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
ASP.NET Core