2010-04-19 3 views
0

내 시나리오는 다음과 같습니다.SharePoint 2010 BCS는 연결 문자열의 사용자 이름/암호를 무시합니다.

SQL Server가 다른 서버에서 실행되는 한 서버에서 SharePoint 2010을 실행하고 있습니다. 두 시스템 모두 동일한 도메인에 있지만 관련된 로그인은 각 시스템에 로컬입니다. SharePoint가 NT Authority \ Network Service로 실행 중인지 확인하십시오.

나는 제거 SQL Server에서 데이터를 가져 오는 BCS를 만들었습니다. 연결 문자열은 다음과 같이 나타납니다 : Data Source={0}; Initial Catalog={1};User Id={2}; Password={3}; Integrated Security=SSPI. 모든 {x}가 교체되면 연결 문자열이 잘 형성되었음을 확인했습니다.

동일한 컴퓨터 (SharePoint를 호스팅하는 컴퓨터)에서 실행되는 브라우저에서 SharePoint 사이트에 액세스하면 정상적으로 작동합니다. 다른 컴퓨터의 브라우저에서 연결하면 실패합니다.

SQL Server에서 프로필러를 사용하면 SharePoint에 '로컬로 액세스'할 때 쿼리를 만드는 사용자가 로그인 한 계정임을 알 수 있습니다. 원격으로 실행될 때 사용자는 '익명'입니다. 계정 권한으로 인해 전자는 성공하고 후자는 실패합니다. 어떤 경우에도 사용자는 실제로 연결 문자열에 제공된 것입니다.

This answer은 연결 풀링과 관련된 문제 일 수 있음을 나타내지 만 문제를 해결하지 못했습니다.

간단히 말해이 BCS가 실제로 연결 문자열 사용자 이름/암호 쌍을 존중하도록하려면 어떻게해야합니까? 아니면, 실패, 동등한 끝을 어떻게 얻을 수 있습니까? 서버 설정 (SharePoint를 하나, SQL 서버를 다른 서버)은 협상 할 수 없습니다. 운수 나쁘게.

답변

1

통합 보안 XOR 당신은 SQL 인증을 가질 수 있습니다. 그러나 당신은 그들을 섞을 수 없습니다. Integrated Security=SSPI을 지정하면 통합 보안이 대신 사용되므로 사용자 이름과 암호는 무시됩니다. SQL 인증 사용자와 암호를 지정하려면 '통합 보안'부분을 제거하십시오.

통합 인증 연결과 마찬가지로 원격 서버는 제한 위임 제한에 해당하며 익명으로 인증됩니다.

: NT는 다음 홉 (SQL 서버)에 흐름 자격 증명을 가장 한 사용하려면 제한된 위임을 참조 활성화해야합니다