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





Если вы используете 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). В вашей конфигурации у вас должно быть
Что вы имеете в виду под «пользователями SharePoint»?
Вы имеете в виду, что они хотят видеть данные на странице SharePoint? В этом случае вам необходимо выполнить олицетворение на этой странице / приложении и, возможно, правильно настроить Kerberos.
Затем вам нужно будет назначить этим пользователям SharePoint (или, лучше сказать, их группе AD) соответствующие права на SQL Server.
«Пользователи SharePoint» - это люди, входящие в SharePoint для взаимодействия с его содержимым. У каждого из них есть права доступа только для чтения к SQL Server, поэтому он настроен. Kerberos может помочь, но, как я уже сказал, в настоящее время он недоступен.
На самом деле проверка подлинности Windows подтверждает, что пользователь является легитимным, без передачи имени пользователя и пароля по сети. В то время как сквозная аутентификация передает имя пользователя и пароль по сети. Это не одно и то же. Использование строки подключения и кода, предоставленных Лео Муром, заставляет SQL использовать проверку подлинности Windows, которую он использует по умолчанию, а не сквозную проверку подлинности, о которой спрашивал OP.
У этих конкретных пользователей есть разрешения (на основе их LDAP LID) для просмотра данных SQL Server, и они используют более старое приложение, которое обращается к базе данных SQL напрямую. Хотел бы использовать те же хранимые процедуры из SharePoint.