Проблемы с подключением Spring к Active Directory - PullRequest
0 голосов
/ 26 ноября 2018

Я пытаюсь подключиться к активной директории моей компании, чтобы создать приложение, способное добавлять, обновлять и удалять пользователей из него. Я настроил LdapContextSource со всей информацией, которую мой коллега создал среду AD, но когда я пытаюсь это сделатьпростой поиск не работает и выдает мне эту ошибку: org.springframework.ldap.AuthenticationNotSupportedException: [LDAP: error code 8 - BindSimple: Transport encryption required.]; nested exception is javax.naming.AuthenticationNotSupportedException: [LDAP: error code 8 - BindSimple: Transport encryption required.]

Вот мой простой код:

 public User getUserByLogin(String login) {
    LdapContextSource contextSource = new LdapContextSource();
    try {
        contextSource.setUrl("secret");
        contextSource.setBase("secret");
        contextSource.setUserDn("secret");
        contextSource.setPassword("secret");
        contextSource.afterPropertiesSet();
        LdapTemplate ldapTemplate = new LdapTemplate(contextSource);
        User user = ldapTemplate.findOne(query().where("uid").is(login), User.class);
        return user;
    } catch (Exception e) {
        e.printStackTrace();
        throw new RuntimeException();
    }
}

Может быть, вам, ребята, известно, что мыВы используете GSS-API

Заранее спасибо, надеюсь, кто-нибудь может мне помочь

1 Ответ

0 голосов
/ 27 ноября 2018

Ошибка указывает на необходимость транспортного шифрования - это обычно означает, что вам нужно изменить URI сервера LDAP с ldap: //server.domain.gTLD на ldaps: //server.domain.gTLD , но поскольку немногие серверы LDAP используют сертификаты, выпущенные из общедоступного центра сертификации (CA), вам также необходимо настроить доверие к сертификату.Я использую частный CA для подписи всех сертификатов, поэтому могу импортировать открытый ключ CA в хранилище доверенных сертификатов Java.

...