2011-04-11 3 views
1

IIS 6을 Server 2003에서 사용하고 SQL Server 2008은 별도의 상자에 있습니다. 이제 웹 사이트의 응용 프로그램 풀 ID를 사용하여 SQL 서버에 연결하고 싶습니다. 하지만 어떻게 든 나는 항상 사이트가 탐색 된 Windows 계정을 표시하는 page_load 메서드에서 ID를 표시 할 때마다. 아래에 세부 정보를 입력했습니다.IIS 6 응용 프로그램 풀 ID를 사용하여 SQL 서버에 연결

서버 : Windows Server 2003 데이터베이스 : SQL Server 2008. 웹 서버와 DB는 다른 컴퓨터에 있습니다. WebSite : 사용자 지정 도메인 계정을 사용하여 실행되는 사용자 지정 응용 프로그램 풀을 사용합니다. 웹 사이트는 익명으로 사용할 수 없으며 Windows 인증을 사용할 수 있습니다. web.config에서 가장이 활성화되어 있지 않습니다.

나는 아래의 코드를 사용하여 자격 증명을 표시 해요 :

Response.Write(HttpContext.Current.User.Identity.Name.ToString()); 
     WindowsIdentity id = WindowsIdentity.GetCurrent(); 
     Response.Write(id.Name); 

지금 나는 데이터베이스에 연결하는 응용 프로그램 풀의 ID를 사용하는 방법이 필요합니다. 이 작업을 수행하는 방법을 알려주십시오. 앱 풀 ID로 웹 사이트의 익명 계정을 설정하면 모든 것이 잘 작동하지만 그렇게하고 싶지 않습니다. 이제 인증은 익명으로 SQL 서버에 전달되고 예외가 발생합니다.

답변

0

IIS6에 대해서는 잘 모르겠지만 IIS8에는 ... 질문의 응용 프로그램 풀에 대한 고급 설정에는 ID 섹션이 있습니다. 사용하려는 Windows 자격 증명으로 설정하십시오. 또한 '응용 프로그램 프로파일로드'를 true로 설정하십시오.

그런 다음 응용 프로그램에서 SQL 서버 사용자 이름과 암호 대신 trusted_connection을 사용하려면 연결 문자열을 설정하기 만하면됩니다.

그냥 당신이 변화를 수행 할 때 응용 프로그램 풀을 업데이트 기억할하지 않는 한, 만료되지 않는 암호를 가지고 창문을 계정 설정을 기억 (또는 수영장이 중지됩니다.)

데이브

0

Windows 인증이 활성화되어 있고 IE를 사용하여 사이트에 연결 한 것 같습니다. 이 경우 Windows ID가 IIS로 전달됩니다.

관련 문제