SharePoint 2010 BCS игнорирует имя пользователя / пароль в строке подключения - PullRequest
0 голосов
/ 20 апреля 2010

Вот мой сценарий.

У меня SharePoint 2010 работает на одном сервере, а SQL Server работает на другом. Обе машины находятся в одном домене, но входящие в систему учетные записи являются локальными для каждой машины. SharePoint работает как NT Authority \ Network Service, если это имеет какое-либо значение.

Я создал BCS, который извлекает данные из удаленного SQL Server. Строка подключения выглядит следующим образом: Data Source={0}; Initial Catalog={1};User Id={2}; Password={3}; Integrated Security=SSPI. Я подтвердил, что строка соединения правильно сформирована, после замены всех {x}.

Это прекрасно работает, если вы получаете доступ к сайту SharePoint из браузера, работающего на том же компьютере (то есть на компьютере, на котором размещается SharePoint). После подключения к нему из браузера на другом компьютере происходит сбой.

Если запустить профилировщик на SQL Server, обнаружится, что при доступе к SharePoint «локально» пользователь, выполняющий запросы, является зарегистрированной учетной записью. Когда он работает удаленно, пользователь является «анонимным». Из-за прав доступа к учетной записи первый успешно выполняется, а второй - нет. Ни в коем случае пользователь фактически не указан в строке подключения.

Этот ответ указывает на то, что проблема, вероятно, связана с пулом соединений, но не помогла мне решить проблему.

Итак, в двух словах, как я могу заставить этот BCS фактически соблюдать пару имя пользователя / пароль строки подключения? Или, если это не удастся, как я могу достичь такого же конца? Настройка сервера (SharePoint на одном, SQL Server на другом) не подлежит обсуждению; к сожалению.

1 Ответ

1 голос
/ 20 апреля 2010

Вы можете иметь встроенную защиту XOR , вы можете иметь аутентификацию SQL. Но вы не можете смешивать их. Как только вы укажете Integrated Security=SSPI, ваши имя пользователя и пароль будут игнорироваться, поскольку вместо них будет использоваться встроенная защита. Если вы хотите указать пользователя и пароль для аутентификации SQL, удалите часть «встроенная безопасность».

Как и при любом соединении с интегрированной аутентификацией, удаленные серверы попадают под ограничение ограниченного делегирования и аутентифицируются как анонимные. Чтобы разрешить олицетворенным учетным данным NT переходить к следующему прыжку (SQL Server), необходимо включить ограниченное делегирование, см .:

...