Проверка подлинности Tomcat с использованием SPNEGO / Kerberos и делегирования
Вопрос
Существует ли модуль apache, который реализует аутентификацию Kerberos для использования Tomcat, а также поддерживает делегирование Kerberos?
Я уже посмотрел на mod_spnego, и он отбрасывает контекст SSPI, который создает только с сохранением основного имени. Вместо этого я ищу модуль, который позволил бы делегировать билет, отправленный Tomcat, то есть взять билет службы, отправленный для аутентификации, и использовать его на стороне сервера для доступа к другой службе от имени пользователя.
РЕДАКТИРОВАТЬ: чтобы уточнить, мне нужно выдать себя за Win32, используя контекст GSS / SSPI, чтобы при подключении устаревшего кода к другому серверу использовались делегированные учетные данные.
Решение
WAFFLE (функциональная структура аутентификации Windows) теперь предоставляет эту функцию начиная с версии 1.4beta.
Он предоставляет ServletFilter, который использует собственные API-интерфейсы Windows для аутентификации пользователя, используя обычную или согласованную аутентификацию. Затем пользователь может выдать себя за другого, и вызовы нативных API будут выполняться с токеном доступа от имени другого пользователя.
Другие советы
Как насчет использования области JAAS и использования модуля JAAS kerberos 5?
http://tomcat.apache.org/tomcat-6.0-doc/realm-howto.html #JAASRealm р>
http://java.sun.com/j2se/1.4.2/docs/guide/security/jaas/spec/com/sun/security/auth/module/Krb5LoginModule.html р>
Похоже, что это может потребовать немного кодирования, но кусочки должны быть там.
Вот http://spnego.sourceforge.net/credential_delegation.html учебное пособие. Он реализует Kerberos / SPNEGO как фильтр сервлетов HTTP и поддерживает делегирование учетных данных.