2009-06-25 9 views
5

현재 2 개의 서버가 설치되어 있습니다. 하나는 Windows Server 08을 실행하는 웹 서버이고 다른 하나는 Windows Server 2008에서 SQL Server 08을 실행하는 데이터베이스 서버입니다.원격 데이터베이스 서버 연결 문자열

현재 연결 문자열을 사용하여 데이터베이스에 읽고 쓸 수있는 사이트 설정이 있습니다. 데이터베이스 이름, 서버 IP, db 사용자 및 db pwd로 생성했습니다. 내가 만든 db 사용자는 데이터베이스 (db 소유자가 아님)에 'public'역할 설정이 있으며 exec 저장 프로 시저 만 실행할 수 있습니다. 내 연결 문자열은 현재 다음과 같습니다

<add name="SiteDBConn" connectionString="Server=IPOfServer;Database=DBname;User ID=userhere;Password=passhere;"/> 

을이 나를 위해 완벽하게 작동하는 동안, 나는 설정에 어떤 사용자 이름과 암호를 포함하지 않은 데이터베이스 연결 문자열을하고 싶습니다. SQL 서버가 웹 서버와 동일한 서버에있는 다른 서버 중 일부에서는 신뢰할 수있는 연결을 사용하고 데이터베이스에 내장 된 '네트워크 서비스'사용자를 사용할 수 있습니다. 2를 사용하는 경우 - 위의 연결 문자열과 같은 - 사용자 이름과 암호를 하드 코딩없이 데이터베이스에 대한 연결을 달성 할 수있는 간단한 방법이 있을까요

<add name="SiteDBConn" connectionString="Server=localhost;Database=DBname;Trusted_Connection=Yes;"/> 

:이 날과 같이 어떤 사용자 이름과 암호를 사용하여 연결 문자열을 실행할 수 있습니다 다른 서버? 어쨌든 내가 만든 데이터베이스 사용자가 exec 권한 만 가진 것처럼 보이는이 경로를 내려가는 데 시간을 낭비하고 있습니까?

감사합니다.

답변

5

시간을 낭비하지 않습니다. 이것은 아주 좋은 습관입니다. 별도의 시스템에 IIS와 SQL을 분리 할 때, 여기에 몇 가지 옵션이 있습니다 :

  • 가 IIS 상자 (바람직하게는 같은 암호) SQL 서버
  • 사용 가장 모두에서 asp.net 사용자를 작성 (변경 컨텍스트를 귀하의 사이트 에서) 아래 레지스트리 설정 파일을
  • 암호화 연결 문자열을 실행하고 도메인 사용자에게의
  • 사용 IIS6으로 트러스트 된 연결 (brrrr)
  • 전환 대한 asp.net 컨텍스트를 잊지 기본 응용 프로그램 모드
+0

의견에 감사드립니다. 가장 (impersonation)에 관해서는 그것을 설정하기위한 좋은 가이드 나 연습에 대해 알고 있습니까? 건배. –

+0

실제로 마지막 질문. 귀하의 기사와이 질문 사이에 필요한 정보가 있습니다. 감사. http://stackoverflow.com/questions/982216/database-connections-work-fine-when-application-is-run-from-localhost-login-fai –

1

2 개의 서버가 동일한 Windows 도메인에없는 경우 신뢰할 수있는 연결을 사용할 수 없습니다.

또한 로그인은 Windows 인증으로 만들어야하며 신뢰할 수있는 연결로 SQL 인증 로그인을 사용할 수 없습니다.

그렇지 않으면 Tapori의 모든 것입니다.

관련 문제