Сквозная аутентификация для БД MS SQL 2005 из SharePoint?

В нашем домене Active Directory у нас есть сервер MS SQL 2005 и сервер SharePoint (я полагаю, MOSS 3.0). Оба проходят аутентификацию на нашем сервере LDAP. Хотел бы разрешить этим прошедшим проверку подлинности посетителям SharePoint просматривать некоторые данные из базы данных MS SQL. Основная проблема - аутентификация.

Есть какие-нибудь советы, как заставить работать сквозную аутентификацию? Я искал (Google) подходящую строку подключения, но продолжаю находить те, которые имеют встроенные учетные данные или другие схемы. Я так понимаю, что SSPI - это то, что я хочу использовать, но не знаю, как это реализовать.

пояснение: у нас пока нет настройки сервера единого входа (например, Shibboleth)


person Argalatyr    schedule 23.09.2008    source источник


Ответы (3)


Если вы используете C #, код и строка подключения:

using System.Data.SqlClient; 
... 
SqlConnection oSQLConn = new SqlConnection(); 
oSQLConn.ConnectionString = 
    "Data Source=(local);" + 
    "Initial Catalog=myDatabaseName;" +
    "Integrated Security=SSPI";
 //Or
 // "Server=(local);" + 
 // "Database=myDatabaseName;" + 
 // "Trusted_Connection=Yes";
oSQLConn.Open(); 
... 
oSQLConn.Close(); 

Отличный ресурс для строк подключения можно найти в блоге Карла Протмана. Йой, вероятно, следует заменить (local) именем SQL-сервера.

Вам нужно будет либо настроить SQL-сервер, чтобы предоставить ролям домена требуемые права доступа. На сервере SQL вам нужно будет перейти в Security \ Logins и убедиться, что у вас есть роль домена \ пользователя (т.е. MyCompany \ SharpointUsers). В вашей конфигурации у вас должно быть

person Leo Moore    schedule 23.09.2008
comment
У этих конкретных пользователей есть разрешения (на основе их LDAP LID) на просмотр данных SQL Server, и они используют более старое приложение, которое обращается к базе данных SQL напрямую. Хотел бы использовать те же хранимые процедуры из SharePoint. - person Argalatyr; 23.09.2008

На самом деле проверка подлинности Windows подтверждает, что пользователь является легитимным, без передачи имени пользователя и пароля по сети. В то время как сквозная аутентификация передает имя пользователя и пароль по сети. Это не одно и то же. Использование строки подключения и кода, предоставленных Лео Муром, заставляет SQL использовать проверку подлинности Windows, которую он использует по умолчанию, а не сквозную проверку подлинности, о которой спрашивал OP.

person Kyle    schedule 02.11.2010

Что вы имеете в виду под «пользователями SharePoint»?

Вы имеете в виду, что они хотят видеть данные на странице SharePoint? В этом случае вам необходимо выполнить олицетворение на этой странице / в приложении и, возможно, правильно настроить Kerberos.

Затем вам нужно будет назначить этим пользователям SharePoint (или, лучше сказать, их группе AD) соответствующие права на SQL Server.

person Magnus Johansson    schedule 23.09.2008
comment
Пользователи SharePoint - это люди, которые входят в SharePoint для взаимодействия с его содержимым. У каждого из них есть права доступа только для чтения к SQL Server, поэтому он настроен. Kerberos может помочь, но, как я уже сказал, в настоящее время он недоступен. - person Argalatyr; 23.09.2008