Как использовать вход в систему Windows для единого входа и записей Active Directory для настольного Java-приложения?

Я забыл добавить драйвер JDBC PostgreSQL в проект Mvnrepository .

Gradle:

// http://mvnrepository.com/artifact/postgresql/postgresql
compile group: 'postgresql', name: 'postgresql', version: '9.0-801.jdbc4'

Maven:


    postgresql
    postgresql
    9.0-801.jdbc4

Вы также можете загрузить JAR и импортировать в свой проект вручную.

30
задан Community 23 May 2017 в 11:54
поделиться

7 ответов

Не поддерживается. В Java 6 есть улучшения, но пока их недостаточно.

У Java есть собственный стек GSS. Проблема заключается в едином входе в систему, вам нужно получить билет Kerberos из ОС (а не из стека Java). В противном случае пользователь должен пройти аутентификацию во второй раз (что противоречит цели единой регистрации).

См. http://java.sun.com/developer/technicalArticles/J2SE/security/ . Найдите «Доступ к собственному GSS-API», и в нем говорится о новом системном свойстве sun.security.jgss.native, которое при значении true заставляет Java использовать базовую реализацию GSS ОС, предоставляя доступ к аутентификации на уровне ОС. Отлично! .... за исключением того, что он поддерживается только для Solaris и Linux, но не для Microsoft Windows.

Java 6, однако, кажется, имеет достаточную поддержку для работы в качестве сервера , получающего запросы аутентификации SPNEGO от IE и затем аутентифицирующего этого пользователя в Active Directory. Это только поддержка настольных клиентов, которая все еще не завершена.

13
ответ дан 28 November 2019 в 00:26
поделиться

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

2
ответ дан 7 July 2019 в 20:10
поделиться

Для удобства пользователей, читающих эту ветку, http://www.javaactivedirectory.com/?page_id=196 содержит пример единого входа в Windows / Active Directory

2
ответ дан 7 July 2019 в 20:10
поделиться

Вы рассмотрели использование API JNA (позволяет Вам делать собственные вызовы к легкой операционной системе)?

можно назвать документацию win32 metod GetCurrentUser MSDN в http://msdn.microsoft.com/en-us/library/ms724432 (По сравнению с 85) .aspx. Это расположилось в Advapi32.dll.

Это также имеет unicode версию, GetCurrentUserW в случае необходимости.

И Вы правы. Действительно кажется, что переменная среды может быть изменена, так, чтобы мог ввести в заблуждение для использования.

я не уверен в кросс-платформенных последствиях по 32/64bit окнам. Если Вам нужно решение в коде, я уверен, что мог бы описать что-то для него.

, Но да, просто идея :)

0
ответ дан guyumu 17 July 2019 в 19:38
поделиться
  • 1
    Это, конечно, работает, но почему Вы аннотируете String, но инициализируете NSString и вынуждаете состав исполнителей к String? let string1 = String(data: data, encoding: .utf8)! достаточно. Don' t использование NSString вообще в Swift. – vadian 21 February 2018 в 06:19

Используйте JAAS с LDAP LoginModule. Это позволит Вам включаться - в базовую инфраструктуру безопасности Java.

, Когда необходимо вывести приложение из эксплуатации или "отладить" приложение, Вы можете легко выгрузка модуль LDAP для фиктивного модуля. Это позволяет Вам продолжать тестировать свою "безопасность", без в зависимости от Active Directory. Очень тестируемый, отделенный, и Вы можете схема аутентификации в более позднее время почти ни с каким горем.

5
ответ дан James Schek 17 July 2019 в 19:38
поделиться
  • 1
    Используя отрывок выше я добираюсь "[\"one\",\"two\"]", как я теперь поворачиваюсь спиной к массиву строк? спасибо – sweepez 14 February 2018 в 06:27

Проверьте jCifs в http://jcifs.samba.org/

Кроме этого, палки с LDAP (на самом деле, это должна быть моя первая попытка, но...)

0
ответ дан aldrinleal 17 July 2019 в 19:38
поделиться
  • 1
    Я пробовал к убежищу ' testArray' сначала к NSData форматируют тогда тайный к json. Спасибо за Ваш ответ – DrPatience 5 February 2015 в 01:43

Вы, вероятно, получите наибольшую гибкость при помощи безопасность Spring . Можно использовать его и с JAAS и с аутентификацией LDAP.

0
ответ дан Bogdan 17 July 2019 в 19:38
поделиться
  • 1
    Существует потребность преобразовать массив отдельно that' s, почему чувак – Mr.Javed Multani 21 February 2018 в 07:09
Другие вопросы по тегам:

Похожие вопросы: