0

보고 서비스 서버에서 데이터를 요청하는 기본적인 asmx 페이지가 있습니다.ASP.net WebClient로 자격 증명 전달

asmx 및보고 서비스 서버를 실행하는 사용자, 웹 서버는 모두 동일한 Windows 도메인에 있습니다.

Webclient request = new WebClient(); 
request.Credentials = ?WhatGoesHere?; 
byte[] fileData = request.DownloadData(......) 

UseDefaultCredentials = true;을 설정하면 IIS를 실행하는 사용자의 자격 증명을 사용하여 인증을 시도합니다.

사용자가 asmx 페이지에 액세스 할 때 WebClient를 인증하려면 어떻게합니까?

답변

1

aspx 페이지를 호스팅하는 웹 서버에 통합 인증을 사용하고 서버가 IIS라고 가정합니다.
페이지가보고 서버에없는 경우 인증 전달과 관련된 double hop 문제가 발생할 수 있습니다. 이 솔루션을 사용하려면 kerberos 인증과 도메인 수준에서 몇 가지 항목을 올바르게 구성해야합니다.

+0

예, 웹 서버에서 통합 인증을 사용할 수 있습니다. 그리고 예,보고 서비스는 IIS와는 다른 서버에 있습니다. – John

+0

보고 서버에 IIS가있는 경우 해당 서버에서 aspx 페이지를 이동해보십시오. 그 레이아웃으로 ASPX 페이지가 작동한다면 이중 홉이 범인 일 가능성이 높습니다. – Paolo