localhost에서 ASP.Net 웹사이트를 테스트하려고 하는데 다음 오류가 발생합니다.
HTTP Error 401.3 - Unauthorized
You do not have permission to view this directory or page because of
the access control list (ACL) configuration or encryption settings for
this resource on the Web server.
웹 사이트 응용 프로그램 폴더에 전체 읽기/쓰기 권한을 가진 다음 사용자가 있습니다.
- 네트워크 서비스
- IIS_IUSRS
- 체계
- 관리자
- 나단 (나)
이 문제를 해결하려면 어떻게 해야 합니까?
답변1
IIS 7은 또한 IIS를 통해 파일에 액세스하기 위한 기본 사용자로 "IUSR"을 생성합니다. 따라서 사용자 IUSR에게 파일/폴더에 대한 읽기 액세스 권한을 부여하십시오.
IUSR이 읽기 액세스를 가지고 있는지 확인하는 방법은 무엇입니까? 마우스 오른쪽 버튼 클릭 -> 폴더 -> 속성 -> 보안 탭 IUSR이 그룹 또는 사용자 이름 목록에 있는지 확인하고, 그렇지 않은 경우
편집 -> 추가 -> 고급 -> 지금 찾기 -> IUSR을 선택하고 확인을 4번 클릭합니다.
답변2
다른 포럼에서 이것을 찾았으므로 공로를 인정할 수는 없지만 해냈고 저에게 효과적이었습니다.
"IIS7에서 익명 인증 설정을 변경해 보십시오.
인증을 클릭하고 익명 인증을 선택한 후 편집을 클릭하세요. 열리는 창에서 애플리케이션 풀 ID를 선택하고 확인을 클릭합니다. "
답변3
Windows Server 2008의 IIS 7.5에서도 동일한 문제가 발생했습니다. 저에게는 다음 단계를 수행하여 문제를 해결했습니다.
- IIS 관리자 열기
- 편집하려는 웹사이트를 클릭하세요.
- 더블 클릭입증
- 딸깍 하는 소리익명 인증을 클릭한 다음편집하다...아래에행위
- 사용하도록 변경합니다.응용 프로그램 풀 ID특정 사용자 대신 자격 증명(내 것은 IUSR)
이렇게 변경한 후 401.3 오류가 사라졌습니다.
답변4
기본적으로 IIS 7.5에서는 각 응용 프로그램 풀이 자체 "가상 ID"로 실행됩니다. 앱 풀의 ID는 파일 시스템에 액세스하는 데 사용되는 자격 증명입니다.
그 메커니즘은 잘 모르겠지만 Microsoft는 특정 설치 시나리오에서 서비스 계정을 생성할 필요성을 완화하면서 기본 설치의 보안을 강화하기 위해 이렇게 했습니다. 어쨌든 결과는 이 "가상 ID" 계정을 식별하고 디렉터리에 대한 액세스 권한을 부여하거나 앱 풀의 서비스 계정을 변경해야 한다는 것입니다.
앱 풀 가상 ID의 이름은 "IIS AppPool\"이므로 DefaultAppPool을 사용하는 경우 해당 ID는 "IIS AppPool\DefaultAppPool"이 됩니다.
보다이것자세한 내용은 기사를 참조하세요.