응용 프로그램 풀 ID를 변경한 후 ASP.NET 응용 프로그램에서 UnauthorizedAccessException이 발생합니다.

응용 프로그램 풀 ID를 변경한 후 ASP.NET 응용 프로그램에서 UnauthorizedAccessException이 발생합니다.

Windows Server 2003 및 IIS 6에서 실행되는 SharePoint(MOSS 2007) 인스턴스가 있습니다. IIS에서 SharePoint 웹 사이트 아래의 가상 디렉터리를 통해 ASP.NET 응용 프로그램을 설정했습니다. SharePoint는 URL을 사용하여 액세스됩니다.http://회사포탈ASP.NET 응용 프로그램은 URL을 사용하여 액세스됩니다.http://companyportal/apps/Default.aspx. SharePoint와 ASP.NET 응용 프로그램 모두에 동일한 응용 프로그램 풀이 사용됩니다.

최근에는 ASP.NET 응용 프로그램을 자체 응용 프로그램 풀로 격리하기로 결정했습니다. 따라서 이 응용 프로그램은 SharePoint와 완전히 독립적이므로 어떤 이유로든 과도한 양의 리소스를 소비하기 시작하더라도 포털에 문제를 일으키지 않습니다.

그래서 ASP.NET 응용 프로그램을 위한 새 응용 프로그램 풀을 만들었습니다. 다음 단계에 따라 이 새 응용 프로그램 풀의 ID 역할을 할 새 서비스 계정을 만들었습니다.MSDN 블로그 게시물. 새 응용 프로그램 풀을 다시 시작하고 ASP.NET 응용 프로그램을 탐색했습니다. 내가 관찰한 행동은 다음과 같습니다.

  • 응용프로그램이 매우 느리게 로드됩니다.
  • 결국, 모든 데이터베이스 호출 등이 성공했음을 의미하는 애플리케이션 페이지가 표시됩니다.
  • 마침내 나는 System.UnauthorizedAccessException던져진 것을 본다. Visual Studio 2008이 동일한 서버에 있으므로 Visual Studio Just-In-Time 디버거를 열라는 메시지가 표시되지만 유용한 정보는 제공되지 않습니다.
  • 이벤트 뷰어에 다음 오류가 표시됩니다.

    • 원본: ASP.NET 2.0.50727.0(이벤트 ID 1334)

      처리되지 않은 예외가 발생하여 프로세스가 종료되었습니다.

      애플리케이션 ID: /LM/W3SVC/1/Root/apps

      프로세스 ID: 3028

      예외: System.UnauthorizedAccessException

      메시지: 포트에 대한 액세스가 거부되었습니다.

    • 출처: .NET 런타임 2.0 오류(이벤트 ID 5000)

      이벤트 유형 clr20r3, P1 w3wp.exe, P2 6.0.3790.3959, P3 45d6968e, P4 시스템, P5 2.0.0.0, P6 504057aa, P7 3bf9, P8 7a, P9 system.unauthorizedaccess, P10 NIL.

Stack Overflow에서 좀 더 검색한 후 다음 단계를 수행했습니다.

aspnet_regiis.exe -GA 도메인\사용자 이름

이로 인해 응용 프로그램이 더 빠르게 로드되지만 위의 오류가 이벤트 뷰어에 계속 표시됩니다.

SharePoint 응용 프로그램 풀을 실행하는 동일한 서비스 계정을 사용하는 경우에는 이러한 문제가 나타나지 않지만 새 서비스 계정을 사용하는 순간 문제가 발생합니다. 그래서 나는 그것이 내가 서비스 계정을 설정한 방식과 관련이 있다고 생각하지만 내가 무엇을 놓치고 있는지 잘 모르겠습니다!

답변1

IIS_WPG 그룹에 사용자 지정 사용자를 추가하셨나요? 이는 IIS6의 요구 사항입니다. aspnet_regiis -GA를 실행하면 IIS_WPG가 처리하는 권한 중 일부가 부여되지만 전부는 부여되지 않습니다.

또한 언급한 오류의 특정 원인은 아니지만 사용자 지정 계정에 최소한 디스크에 대한 읽기 권한이 있는지 확인하십시오.

관련 정보