Kerberos, проверка подлинности на основе утверждений и Sharepoint: невозможно подключиться к базе данных - PullRequest
0 голосов
/ 30 августа 2011

У меня есть сервер, на котором размещается Sharepoint 2010. У меня есть другой сервер, на котором размещен SQL Server 2008 R2. SharePoint основан на Kerberos / утверждениях.

На моем SharePoint я установил пользовательскую веб-часть, которая подключается к компьютеру с SQL Server с использованием стандартной строки подключения (Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;).

Проблема в том, что когда веб-часть пытается подключиться к серверу sql, я получаю следующее сообщение:

Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'

Что мы сделали:

  • Проверьте все spn / Delegation / Trusts вещи - все кажется в порядке.
  • Пытался подключиться напрямую с компьютера sharepoint через файл UDL к серверу sql, и это работает.
  • Попробовал веб-часть как отдельную страницу ASPX на одном сервере, чтобы доказать, что код должен работать, и он работает.
  • Wireshark -> Мы можем увидеть KDC_ERR_S_PRINCIPAL_UNKNOWN, когда ANONYMUS LOGON пытается подключиться к серверу sql (незаметно).
  • Панель инструментов разработчика SharePoint показывает нам текущее имя пользователя, которое не является ANONYMUS.
  • Трассировки в веб-части показывают две вещи: HTTPCONTEXT установлен для моего текущего пользователя, как и Thread.Current.
  • Используя SQL Profiler, мы видим, что запрос от ANONYMUS
  • Мы попытались получить доступ к веб-службе на другом сервере из другой пользовательской веб-части, но по той же причине это не удалось (ANONYMUS).

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

1 Ответ

0 голосов
/ 30 августа 2011

Вы убедились, что Kerberos работает?

Скачать приложение Kerberos для устранения неполадок

http://www.microsoft.com/DOWNLOADS/details.aspx?familyid=99B0F94F-E28A-4726-BFFE-2F64AE2F59A2&displaylang=en

...