2011-01-06 4 views
4

내가 원하는 작업은 다음과 같습니다.IIS 사이트에 익명 액세스를 허용하지만 Windows 인증을 사용하여 SQL Server에 연결하려면 어떻게합니까?

  • 익명 사용자가 내 ASP .NET 사이트에 액세스하도록 허용합니다.
  • 사이트에 대해 Windows 인증을 사용하여 Sql Server에 액세스하십시오. 특히 사이트에 대해 도메인 계정을 별도로 설정하여 SQL Server에 로그인합니다 (동일한 계정으로 모든 작업을 수행하는 것이 바람직 함).

웹에서 모든 문서에서는 이렇게 알려줍니다 :의 Web.config에서

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

. 그러나 사용자가 Windows 인증을 사용하여 로그인하게하려면 입니다. SQL Server에 로그인하는 서버와 아무런 관련이 없습니다 (위의 2의 조합은 사용자의 인증도 데이터베이스에 연결하는 것을 의미 함). 이 올바른지? 내 Windows 계정을 사용하여 서버와 사이트가 연결되어있는 데이터베이스 파일에 액세스 할 수있는 점을 감안,이

것 같다 .... 테스트하기 어려운 보인다 나는 경우 :

  • 은 앱 설정 도메인 계정에 풀 ID
  • 다음 사이트에 연결됩니다
  • Windows 인증

와 연결 문자열을 사용하는 도메인 계정을 사용하여 사이트에 익명 액세스를 가능하게 Windows 인증을 통한 SQL Server. 또한 가장이 꺼져있는 한 도메인 계정을 사용합니다. 이 올바른지?

답변

2

(Web.config). 그러나 사용자가 을 Windows 인증으로 기록하도록하려는 경우에만 을 수집합니다. 그것은 SQL 서버

이 부분적으로 사실에 서버 로깅 과는 아무 상관이 없습니다. 위임이 제대로 설정된 경우 가장 된 계정을 사용하여 SQL Server에 로그온합니다. 대부분의 환경에서 위임을 명시 적으로 설정해야하기 때문에이 옵션이 표시되지 않았습니다. 위임은 가장 강력한 형태의 가장이며 서버 프로세스 (귀하의 경우 IIS 프로세스)가 클라이언트 역할을하면서 원격 리소스 (귀하의 경우에는 SQL 서버)에 액세스 할 수 있습니다. 자세한 내용은 Google ASP.NET Delegation을 참조하십시오. 나는 단순한 환경에서는 어떤 특별한 설정조차 필요로하지 않기 때문에 부분적으로 사실이라고 말했다. 대표단은 일하고 있습니다. 예를 들어 SQL 서버가 IIS 서버와 동일한 시스템에서 실행중인 경우 또 다른 경우는 Active Directory 도메인 컨트롤러에서 실행되는 IIS 서버입니다 (매우 드문 경우). 이 두 경우 또는 위임이 올바르게 구성된 시스템에서 위의 명령문이 잘못됩니다.

  • 도메인 계정에 응용 프로그램 풀 ID를 설정
  • 이 연결 문자열을 사용하는 도메인을 계정을 사용하여 사이트에 익명 액세스를 활성화합니다

    내가하면 보인다 Windows 인증

다음 사이트 은 Windows 인증을 통해 SQL Server에 연결합니다. 또한 명의 도용이 해제되어있는 한 도메인 계정을 사용합니다. 이 올바른지?

네, 맞습니다.

내 Windows 계정이 사이트가 에 연결되어 서버와 데이터베이스 파일에 액세스 할 수있는 점을 감안,이

그것은 테스트 쉽게 .... 테스트하기 어려운 것 같다 두 개의 도메인 계정 (또는 하나의 도메인 계정과 하나의 로컬 계정)이있는 경우 DomainAccount1을 사용하도록 응용 프로그램 풀 ID를 설정합니다. 에만 DomainAccount1에 데이터베이스 액세스 권한이 있어야합니다. 다른 컴퓨터 (도메인 계정 또는 로컬 계정)를 사용하여 다른 컴퓨터에서 웹 응용 프로그램에 액세스하십시오. 웹 응용 프로그램이 데이터베이스에 제대로 액세스 할 수 있는지 테스트하십시오.

1

내가 올바르게 따라갈 경우 당신 말이 맞습니다. 아니요은 원하는 작업을 수행하기 위해 가장 (impersonation)/인증을 사용하려고합니다. 응용 프로그램 풀 ID를 적절하게 설정하고 사용자 계정에 SQL Server에 대한 적절한 액세스 권한이 있는지 확인하십시오.

0

Windows 계정을 사용하는 대신 별도의 SQL 로그인 즉 username/pwd를 만들어 연결 문자열에 대신 사용할 수 있습니다.

+0

실제로 이것은 효과가 있습니다. 그러나 내 목표 중 하나는 Windows 인증을 사용하여 Sql Server 데이터베이스에 액세스하는 것입니다. – apollodude217

+0

그런 다음 예, 사용자 계정에서 응용 프로그램 풀을 실행하고 이에 따라 사용 권한을 설정해야합니다. 3 단계 (사용자 지정 서비스 계정 사용)를 확인하십시오. http://msdn.microsoft.com/en-us/library/ff647396.aspx#paght000008_step3 – gbs

관련 문제