디렉토리에 대한“401 Unauthorized”


87

로컬 컴퓨터에서 프로젝트를 실행하면 발생하지 않으므로 IIS 오류라고 가정합니다.

내 스타일 시트는 ~/Content/css

해당 디렉토리의 모든 파일이 페이지에로드되지 않고 직접 탐색 할 때 서버 오류가 발생합니다.

401-권한 없음 : 잘못된 자격 증명으로 인해 액세스가 거부되었습니다.

제공 한 자격 증명을 사용하여이 디렉터리 또는 페이지를 볼 수있는 권한이 없습니다.

이것은 해당 디렉토리에서만 발생하며 다른 파일에 액세스하는 데 문제가 없습니다. 이것을 막기 위해 IIS7에서해야 할 일이 있습니까?

답변:


47

해당 폴더에 대한 IUSR_ 컴퓨터 이름 권한 이 없을 수 있습니다 . 방금 빠른 스캔을했는데 여기에서 필요한 정보를 찾을 수있을 것 같습니다 .

그렇지 않은 경우 브라우저에서 사용자 이름과 암호를 입력하라는 메시지가 표시됩니까? 그렇다면 여기에 설명 된대로 IIS가 통합 인증 만 사용하도록 구성되었을 수 있습니다 .


4
응용 프로그램 풀을 사용하여 db / 파일 시스템 액세스를 관리하는 경우이 작업을 수행하지 마십시오. 아래에서 imanabidi의 답변을 읽으십시오.
Ryan Shillington

덕분에, 내 경우에는 난 그냥 모든 권한을 가진 모든 사람을 추가
MorenajeRD

8
support.microsoft.com/kb/313075- 이 페이지는 더 이상 존재하지 않습니다. @ m.edmondson
디비

296
  1. IIS를 열고 401을 일으키는 사이트를 선택하십시오.
  2. IIS 헤더에서 인증 속성 선택
  3. 익명 인증 선택
  4. 마우스 오른쪽 버튼으로 클릭하고 편집 을 선택한 다음 응용 프로그램 풀 ID를 선택 하십시오.
  5. 사이트를 다시 시작하면 작동합니다.

13
작동하지만 왜? 좀 더 설명해 주 시겠어요?
nthapa 2014

2
이것은 기본적으로 익명 인증의 "특정 사용자"가 수락 된 답변에 언급 된 IUSR이기 때문에 작동하는 것으로 보입니다. 그러나 응용 프로그램 풀에 설정된 ID 에는 전체 웹 사이트에 대한 권한이 있어야합니다 . 그렇지 않으면 사이트가로드되지 않습니다. 따라서 내 IUSR 계정에는 액세스 권한이 없었지만 (사실 존재하지 않는 것 같음) 응용 프로그램 풀이 사용하는 계정은 있습니다.
Johann

6
이것은 작동하지만 혼란스러운 점은 약 2 년 동안 잘 작동했지만 오늘날에는 알려진 이유없이 작동을 멈췄다는 것입니다. 솔루션이 문제를 해결했습니다.
Serj Sagan 2015

이 문제에 몇 시간을 보냈고 이것을 찾을 때까지 운이 없습니다! 한 번 릴리스 모드로 게시 한 MVC 5 웹 앱이 있었고 사이트를 크롬에로드하면 콘텐츠가로드되지만 스타일은로드되지 않습니다. 링크가 있고 올바른 경로가 있지만 모두 비어 있습니다! 이 수정으로 내 문제가 해결되었습니다.
GIVE-ME-CHICKEN

제 경우에는 응용 프로그램을 만들 때 기본적으로 비활성화 되었기 때문에 익명 인증을 활성화해야했습니다
Paul

16
  • IIS 열기
  • 문제가 발생한 사이트 선택

  • 아래에서 선택

여기에 이미지 설명 입력

-익명 인증을 마우스 오른쪽 버튼으로 클릭하고 편집을 클릭하고 아래를 따르십시오.

여기에 이미지 설명 입력


6

제공 한 자격 증명을 사용하여이 디렉터리 또는 페이지를 볼 수있는 권한이 없습니다.

이는 사용자가 이미 Active Directory를 통해 인증 되었음에도 불구하고 발생했습니다.

액세스 거부 오류에는 여러 가지 원인이있을 수 있지만 웹 응용 프로그램에서 이미 모든 것을 올바르게 구성했다고 생각하는 경우 잊혀진 세부 정보가있을 수 있습니다. 인증 된 사용자 에게 웹 애플리케이션 디렉토리에 액세스 할 수있는 적절한 권한을 부여했는지 확인하십시오 .

이 문제를 해결하기 위해 취한 단계는 다음과 같습니다.

  1. 웹 애플리케이션이 저장된 디렉토리를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택한 다음 보안 탭을 클릭합니다.

  2. 편집…을 클릭 한 다음 추가… 버튼을 클릭합니다. 선택할 개체 이름을 입력하십시오. 그런 다음 추가 단추 에 인증 된 사용자를 입력 합니다. 선택할 개체 이름 입력에 인증 된 사용자를 입력합니다.

  3. 확인을 클릭 하면 인증 된 사용자가 사용자 이름 중 하나로 표시됩니다. 아직 선택하지 않은 경우 하단의 인증 된 사용자에 대한 권한 상자에 적절한 권한을 부여하십시오 .

  4. 확인을 두 번 클릭 하여 대화 상자를 닫습니다. 즉시 적용되지만 확인하려면 웹 응용 프로그램에 대해 IIS를 다시 시작할 수 있습니다.

브라우저를 새로 고침하면 웹 페이지가 표시됩니다.

도움이 되었기를 바랍니다!


3

서버의 폴더 권한을 확인하고 응용 프로그램을 실행하는 데 사용하는 계정에 해당 폴더에 대한 액세스 권한이 있는지 확인해야합니다.


0

나에게 익명 사용자 액세스는 서버 수준에서는 괜찮 았지만 내 "가상"폴더 중 하나에서만 다양했습니다.

IIS가 가상 폴더 수준에서 "인증"설정을 가지고 있다는 사실을 배우기 위해 동료의 도움을받은 다음 동료의 도움을 받아 제게 많은 도움을주었습니다. 이것이 제 곤경에있는 다른 사람에게 도움이되기를 바랍니다.


0

우리의 경우에는 앱의 Windows 통합 인증이 web.config

그러나 windows-auth 모듈은 IIS 시스템에 전혀 설치되지 않았습니다.

다른 가능한 이유를 추가하는 것뿐입니다.


-4

내가 찾은 또 다른 간단한 수정 사항은 IIS 관리자 내에서 로컬 IIS 사이트를 삭제 한 다음 Visual Studio의 웹 프로젝트 "속성"에서 가상 디렉터리를 다시 만드는 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.