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