Интегрированная аутентификация Windows (NTLM) в приложении Java / WebLogic? - PullRequest
2 голосов
/ 20 января 2011

Наша команда создала интранет-сайт WebLogic.В настоящее время пользователи должны ввести свой логин / пароль Active Directory для доступа к сайту.

Поскольку большинство наших пользователей уже вошли в домен, мы хотели бы использовать встроенную аутентификацию Windows, чтобы пользователям не приходилось повторно-введите их пароль для входа.

Я сделал это с приложениями .NET, размещенными на Windows / IIS.Однако это приложение построено в WebLogic / Java и размещено в RedHat Linux.

Существует ли пошаговое руководство или приложение-прототип?

(Пожалуйста, примите во внимание, чтомы стандартизированы в браузере Internet Explorer.)

Ответы [ 3 ]

5 голосов
/ 21 января 2011

Посмотрите на jcifs .Хотя его механизм устарел (он не поддерживает NTLMv2), он все еще работает в моих проектах.Возможно, вам придется использовать более старую версию.Они рекомендуют использовать jespa , но это не бесплатно.

Существует также spnego , он также имеет фильтр.И tomcatspnego .Но я не знаю, насколько они просты в использовании.

Вафля выглядит также интересно.

Вот еще один ответ с некоторыми подробностями: Аутентификация в Active Directory с помощьюJava на Linux

До сих пор я использовал только jcifs, поэтому я не могу сказать вам, какой вариант лучше.Apache HttpClient также имеет некоторые возможности, я использовал его, но не как единый вход в веб-приложении.

РЕДАКТИРОВАТЬ:

Я нашел другой проект: ntlm-аутентификация-in-java , но я еще не использовал и не проверял его.

1 голос
/ 21 декабря 2012

WebLogic изначально поддерживает SPNEGO, поэтому вам не нужно использовать обходные пути.Дополнительная документация доступна здесь - http://docs.oracle.com/cd/E21764_01/web.1111/e13707/sso.htm. Вы также можете обратиться к этой статье блога для пошагового процесса - http://oraclelabspace.blogspot.in/2012/01/configurining-sso-using-kerberosspnego.html

1 голос
/ 02 апреля 2011

Посмотрите на этот ответ , если вы используете NTLMv1, вы получите имя пользователя, вошедшего в систему. (не работает с NTLMv2, хотя ..)

...