Получить имя пользователя и домен из Windows Active Directory в Java на стороне клиента?

У меня есть веб-приложение Java, и я хочу реализовать SSO (единый вход). в основном сканирование - это когда пользователь нажимает URL-адрес приложения в браузере, я должен получить имя пользователя и доменное имя и проверить, что пользователь и домен настроены в нашей базе данных, чтобы я мог пройти аутентификацию.

Я пробовал много решений, но не смог получить имя пользователя и домен по URL-адресу. вот моя среда разработки. Сервер JDK 1.6 EA 6.3 Struts 1.2 JSP

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


person T.Malik    schedule 10.02.2016    source источник
comment
Как отметить это, если я понятия не имею, о чем здесь спрашивают?   -  person Roman C    schedule 10.02.2016
comment
Получить имя пользователя и домен чего? пользователь? каким атрибутом обозначается пользователь?   -  person rkosegi    schedule 10.02.2016
comment
@rkosegi это не просто получение информации об активном каталоге, как получить это на стороне клиента, код Java выполняется на стороне сервера.   -  person T.Malik    schedule 10.02.2016
comment
@rkosegi да, конечно, в настоящее время вход в систему на стороне клиента   -  person T.Malik    schedule 10.02.2016
comment
@T.Malik: Вы можете посмотреть аутентификацию NTLM, имейте в виду, что для прохождения аутентификации NTLM может потребоваться настройка браузера.   -  person rkosegi    schedule 10.02.2016
comment
@rkosegi спасибо за ваше предложение. я изучаю это   -  person T.Malik    schedule 11.02.2016


Ответы (1)


Одним из вариантов в этом случае было бы создание DLL, например

Dim UserName As String Dim UserDomain As String UserName = Environ("USERNAME") UserDomain = Environ("USERDOMAIN")

и вызовите эту DLL из java. Это очень возможно в java.

person tesnik03    schedule 10.02.2016
comment
Это специфично для Windows и не будет работать, если JVM работает под учетной записью локальной системы, и, конечно же, Java знает, как читать переменные среды. Если бы я выбрал Windows DLL, я бы вместо этого прочитал контекст безопасности пользователя. Но это тоже не имеет значения, потому что вам нужен не контекст безопасности JVM, а идентификация удаленного пользователя для доступа к вашему приложению. - person rkosegi; 10.02.2016