2009-07-13 7 views
0

Windows 인증과 Impersonate = true 인 인트라넷 웹 사이트를 실행하는 IIS6 인스턴스가있어 클라이언트 브라우저에서 전달 된 NT 자격 증명을 사용합니다. AppPool이 네트워크 서비스 user : serviceAcctX로 실행되도록 설정되어 드문 경우에서 가장을 실행 취소 할 수 있습니다 (클라이언트 사용자가 액세스 할 수없는 리소스를 읽거나 쓰도록)IIS가 가상 디렉터리를 파일 공유로 이동하면 로그온 한 사용자의 명의가 위임되지 않습니다.

소스 가상 디렉터리의 로컬 드라이브에 있습니다. 로그인 한 사용자는 인증되고 페이지 내용은 권한 설정에 따라 사용자 정의됩니다.

인프라 팀에서 가상 디렉터리 원본을 원격 서버의 파일 공유로 이동하려고합니다. 특정 파일 공유 경로에 대한 완전한 신뢰를 추가하여 .Net 보안 정책을 변경하는 문제를 이미 해결했습니다. 우리는 AppPool이 실행되는 동일한 serviceAcctX에 Connect As 속성을 설정했습니다.

사이트가 잘 시작됩니다. 그러나 클라이언트 사용자는 가장하지 않습니다. 요청은 이전처럼 클라이언트의 NT 자격 증명 대신 기본 serviceAcctX 자격 증명을 사용하여 처리됩니다.

클라이언트 위장을 이전과 같이 계속 작동시키는 방법이 있습니까? 여전히 파일 공유에 가상 디렉터리가 있습니까? 모든 포인터 크게 감사하겠습니다.

답변

1

저는 이것을 Not A Good Idea의 범주에 넣었습니다.

많은 잠재적 인 문제가 발생하여 많은 복잡한 종속성이 도입되고 있습니다.

대신 이보다 조금 더 "오프라인"으로 가고 싶습니다. 파일 복제를 사용하면 웹 서버와 원격 서버간에 파일을 동기화 할 수 있습니다.

약간 복잡하지만 응용 프로그램의 생존 가능성이 높아집니다. 즉, 원격 서버가 재부팅되거나 다운되거나 네트워크 문제가있는 경우 앱은 여전히 ​​작동합니다. 또한 원격 서버에 파일을 저장할 수 있습니다.

0

사용자의 토큰을 전달하려면 웹 서버의 Active Directory에서 "위임을 위해이 컴퓨터를 신뢰 함"확인란을 선택해야 할 수 있습니다.

+0

이것이 올바른 해결책인지 확신하지 못합니다. 위임은 여기서 문제가되지 않습니다. 문제는 작업자 프로세스가 전에 로그온 한 사용자 자격 증명 대신 serviceAcctX 자격 증명을 사용하여 생성된다는 것입니다. – Tion