Аутентификация JAAS в домене Windows - PullRequest
2 голосов
/ 28 апреля 2009

Используя предоставленные имя пользователя, пароль и имя домена, как я могу получить логическое значение, указывающее, успешно ли прошла аутентификация пользователя на основном контроллере домена? Аутентификация должна выполняться с использованием протокола Kerberos для контроллеров домена Windows. Заранее спасибо, Дан

Ответы [ 2 ]

3 голосов
/ 25 мая 2010

Существует бесплатная реализация модуля входа в систему JAAS только для Windows и аутентификатора SSO Negotiate (Kerberos / NTLM): Waffle .

1 голос
/ 28 апреля 2009

Для этого вам нужно либо написать свой собственный, либо использовать сторонний модуль аутентификации. Когда я делал это, у JDK не было ничего доступного, поэтому я использовал этот инструмент . Обратите внимание, что это GPL, но вы можете учиться там. Вам придется создать конф. файл, описывающий ваш модуль аутентификации, и введите его в JVM со свойством java.security.auth.login.config (например, с использованием -D или любым другим способом). В случае с Тагишем это выглядит примерно так:

NTLogin { com.tagish.auth.win32.NTSystemLogin требуется returnNames = true returnSIDs = false defaultDomain = "домен"; };

Еще одна вещь, которая вам понадобится, это указать файл конфигурации kerberos через свойство java.security.krb5.conf . У меня нет подробностей этого файла, но вы легко можете найти его в сети - google about for krb5.conf. Настройки в этом файле должны соответствовать вашему домену Windows и другим специфическим настройкам Windows.

Это немного сложно настроить, но для меня это сработало очень хорошо, довольно надежно.

...