문제

IIS 6.0에서 올바르게 작동하는 웹사이트가 있습니다.Windows 자격 증명으로 사용자를 인증한 다음 DB에 도달하는 서비스와 통신할 때 자격 증명을 전달합니다.

IIS 7.0에서는 동일한 구성 설정이 자격 증명을 전달하지 않으며 DB가 NT AUTHORITY\ANONYMOUS에 도달합니다.

내가 놓친 것이 있나요?IIS 7.0 웹 사이트에서 ANONYMOUS 액세스를 해제했지만 작동하지 않습니다.

다음은 IIS 6.0과 7.0 모두에서 사용하고 있는 설정입니다.

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

6.0에서 7.0으로 무엇이 바뀌었나요?

도움이 되었습니까?

해결책

IIS7과 IIS6.0 사이에 변경 사항이 있습니다.실제로 도움이 될 수 있는 블로그 게시물을 하나 찾았습니다(보려면 여기를 클릭하세요).

통합 모드 또는 클래식 모드에서 애플리케이션을 실행하고 있습니까?내가 본 바에 따르면 Impersonate 속성을 true로 설정하면 다음 오류 메시지와 함께 500 오류가 표시됩니다.

인터넷 서버 오류.이것은 HTTP 오류 500.19입니다.페이지의 관련 구성 데이터가 유효하지 않으므로 요청 된 페이지에 액세스 할 수 없습니다.

제안된 해결 방법은 다음과 같습니다.

해결 방법:

1) 애플리케이션은 시작 보고서 및 AuthenticAteRequest 단계에서 요청 사용자를 가장하는 데 의존하지 않으면 (통합 모드에서 가장가 불가능한 유일한 단계) 응용 프로그램의 web.config에 다음을 추가 하여이 오류를 무시하십시오.

<validation validateIntegratedModeConfiguration="false"

/>

2) 신청서가 BeginRequest 및 AuthenticAteRequest에서 가장에 의존하거나 고전 모드로 이동하십시오.

이것이 IIS 7.0의 현재 작동 방식을 이해하는 데 도움이 되기를 바랍니다.

다른 팁

IIS 서버가 SQLServer의 위임을 위해 신뢰되도록 설정되어 있습니까?저는 이전에 WebDAV를 사용하여 파일 서버를 대신하여 인증하기 위해 파일 서버가 신뢰하는 IIS를 실행하는 서버를 가져야 했던 적이 있습니다.

흥미로운...나는 반대의 문제가 있습니다 - 할 수 없음 클라이언트 브라우저에서 웹 서버를 거쳐 방화벽을 통해 대규모 기업 네트워크 내의 데이터베이스로 인증이 전달되도록 합니다.

또한 데이터베이스에 대한 "엔드 투 엔드 사용자" 인증은 나쁜 생각이며 잠재적인 보안 위험이 있다고 생각합니다.최종 사용자가 SQL 쿼리를 로드하고 데이터베이스에 직접 연결하는 것을 막을 수 있는 방법은 없으므로 스키마를 잠그는 것이 좋습니다!

@Esteban - 내 내용을 명확히 했습니다. 당신을 돕는 데별로 도움이되지 않습니다 답변.

일반적으로 이와 같은 이중 홉 인증을 수행하는 경우 첫 번째 인증이 기본 인증이 아닌 한 일반적으로 Kerberos가 관련됩니다.

IIS 6 서버의 인증을 확인하고 IIS 7에서도 동일한지 확인하겠습니다.

IIS 6 상자가 Windows 통합으로 설정된 경우 SPN, 위임 등 Kerberos 설정을 확인해야 합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top