Pergunta

Aqui está o meu cenário.

Eu tenho o SharePoint 2010 em execução em um servidor, com um servidor SQL em execução em outro. Ambas as máquinas estão no mesmo domínio, mas os logins envolvidos são locais para cada máquina. O SharePoint está sendo executado como serviço de rede NT Authority , se isso faz alguma diferença.

Eu criei um BCS que extrai dados do Remover SQL Server. A string de conexão aparece o seguinte: Data Source={0}; Initial Catalog={1};User Id={2}; Password={3}; Integrated Security=SSPI. Confirmei que a string de conexão está bem formada, uma vez que todos os {x} são substituídos.

Isso funciona muito bem, desde que você acesse o site do SharePoint a partir de um navegador executando na mesma máquina (a máquina que hospeda o SharePoint, ou seja). Depois de se conectar a ele a partir de um navegador em uma máquina diferente, ela falha.

O batendo um perfil do SQL Server revela que, quando o SharePoint é acessado 'localmente', o usuário que faz consultas é a conta logada. Quando está sendo executado remotamente, o usuário é "anônimo". Devido às permissões da conta, o primeiro é bem -sucedido enquanto o último falha. Em nenhum caso o usuário é realmente o fornecido na string de conexão.

Esta resposta Indica que o problema provavelmente está relacionado ao pool de conexões, mas não me ajudou a resolver o problema.

Então, em poucas palavras, como posso obter esse BCS para honrar o par de nome de usuário/senha da String de conexão? Ou, não, como posso alcançar o fim equivalente? A configuração do servidor (SharePoint em um, o SQL Server em outro) não é negociável; infelizmente.

Foi útil?

Solução

Você pode ter segurança integrada Xor Você pode ter autenticação SQL. Mas você não pode misturá -los. Depois de especificar Integrated Security=SSPI, seu nome de usuário e senha serão ignorados, pois a segurança integrada será usada. Se você deseja especificar um usuário e senha de autenticação SQL, remova a parte 'Segurança integrada'.

Como em qualquer conexão de autenticação integrada, os servidores remotos se enquadram na restrição de delegação restrita e se autenticam como anônimos. Para permitir que as credenciais representadas por NT fluam para o próximo salto (o servidor SQL), a delegação restrita deve ser ativada, consulte:

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top