Интеграция приложений ASP.NET с GSA с помощью Kerberos

Наша компания приобрела GSA (GSA 6.8.0.G.30), и мы пытаемся интегрировать поиск в наше приложение портала (ASP.NET). Kerberos уже настроен в GSA, я могу использовать IE для безопасного поиска с помощью default_frontend, и я могу получить безопасный результат, не проходя через форму входа.

Однако у нас есть некоторая проблема, когда мы пытаемся выполнить поиск интеграции с нашим порталом, из нашего кода ASP.NET мы можем получить WindowsIdentity пользователя и создать WindowsImpersonationContext, затем мы используйте объект HttpWebRequest для отправки запроса, первого ответа GSA с 302 и транспортного URL-адреса "https://my_gsa_hostname/security-manager/ samlauthn?SAMLRequest=fZLLTsM...", затем создаем новый запрос, указывающий на новый URL, GSA возвращает 401-unauthorized.

Кто-нибудь может пролить нам свет?


person Compusir    schedule 08.04.2011    source источник


Ответы (1)


По умолчанию WindowsIdentity и WindowsImpersonationContext не могут делегировать. Вам нужно настроить делегирование доверия. Ваш запрос будет отправлен в GSA анонимно. Некоторое время назад я написал запись в блоге о том, как написать код .NET для установления связи с устройством. Вы можете прочитать это здесь:

http://www.mcplusa.com/blog/2009/06/remotely-calling-the-google-search-appliance-restful-web-services-when-saml-is-enabled/

Ключ будет заключаться в том, чтобы ваш веб-сайт аутентифицировал ваших пользователей через kerberos, поскольку NTLM не может делегировать. Итак..kerberos на сайт в GSA.

До Universal Login Manager мы использовали Windows Saml Bridge для автоматической аутентификации. Существует отличный документ, описывающий настройку kerberos.

http://code.google.com/p/google-saml-bridge-for-windows/wiki/ConfigKerberos

person Michael Cizmar    schedule 19.06.2011