2011-12-19 2 views
3

나는 내 whitt의 끝입니다!IIS가 여전히 풀 ID를 통해 리소스를 액세스하고 가장하지 않은 사용자

서버 2003에서는 기본 인증을 사용하는 INTRANET 응용 프로그램과 전용 계정이있는 응용 프로그램 풀이 있습니다. Web.config의에서

내가 (MVC 3)보기에서

<authentication mode="Windows" /> 
    <identity impersonate="true"/> 

를 지정하고 있습니다 :

<p>Environment.UserName (authentication): @Environment.UserName</p> 
<p>User.Identity.Name (asp.net account): @User.Identity.Name</p> 

이 예상대로 집어되고 내 도메인 계정을 보여줍니다 (나는에 로그인해야 대화 상자를 통해 앱). 큰!

BUT WAIT! 응용 프로그램이 파일 시스템이나 SQL 서버 (다른 컴퓨터)에 액세스 할 때 내 도메인 계정을 통해가 아니라 풀 계정을 통해 액세스합니다. SQL 로그인이 프로파일 러를 통해 들어오는 것을 볼 수 있습니다. 필자는 파일 시스템 권한을 통해이를 확인했습니다. 네트워크 서비스를 사용하도록 풀을 설정하면 사용 권한이있는 도메인 계정을 통해서도 로컬 파일을 만들 수없고 대화 형으로 할 수 있습니다. 파일에 NS 계정 권한을 부여하면 작동합니다. 따라서 뷰에서 내가 가장하고 있음을 확인했지만 리소스 요청은 해당 계정을 사용하지 않고 풀을 사용한다는 사실을 알고 있습니다.

가장을 해제하면 예상대로보기에 풀 ID가 나타납니다.

내가 읽은 바로는 원격 인증 SQL 서버에 액세스하기 위해 기본 인증을 사용할 수 있어야합니다. 로컬 디스크는 말할 것도 없습니다. 나는 단지 그것을 얻지 않는다!

모든 의견을 많이 주시면 감사하겠습니다.

감사합니다.

답변

2

가장로 끝나는 IIS. 두 번째 원격 서버에 사용자 자격 증명을 계속 전달하려면 웹 서버와 파일 서버간에 위임을 활성화해야합니다. 이것은 Active Directory의 컴퓨터간에 비트 플래그 설정입니다.

+1

제이슨 감사합니다. 저의 인상은 기본 인증을 사용했기 때문에 위임이 적용되지 않았기 때문에 IIS가 자격 증명을 사용하여 토큰을 전달한다는 것입니다. 전 직원의 진술에 동의하는 프로세스를 설명하는 문서를 찾았지만 꽤 심오합니다. 로컬 리소스 (파일 I/O)조차도 가장 된 계정에서 발생하지 않는 이유를 설명 할 수 있습니까? –

+0

http/IIS 컨텍스트를 벗어날 수 있기 때문입니다. 클라이언트가 가상 디렉터리를 넘어 서버에 액세스 할 수 있도록하기 위해 엄청난 보안 허점이 생기게되어 의도적으로 설계된 것입니다. –

+0

저는 대표단을 연구했습니다. 참고 사항은 두 가지입니다. 1. Microsoft 문서 (http://msdn.microsoft.com/en-us/library/ff647404.aspx)에 따르면 기본 인증은 자동으로 위임됩니다. 나는이 주장을 여러 번 보았습니다. 내 관점에서이 경우에 해당됩니다. 다음은 직접적인 인용문입니다. –