Nano Hash - криптовалюты, майнинг, программирование

Не удается подключить внешний сервер LDAP

Я разрабатываю API, используя весеннюю загрузку, которая будет аутентифицировать пользователя и пароль в AD нашей компании. Я устал от примера внедрения тестового сервера LDAP, и он отлично работает. Однако всякий раз, когда я пытаюсь подключиться к нашему серверу LDAP, я вижу следующее сообщение об ошибке.

Это то, что я делаю.

protected void configure(AuthenticationManagerBuilder auth) throws Exception {
    auth
            .ldapAuthentication()
            .userDnPatterns("uid={0},ou=people")
            .groupSearchBase("ou=groups")
            .contextSource()
                .url("ldap://<company AD server>/dc=springframework,dc=org")
                .and()
            .passwordCompare()
                .passwordEncoder(new LdapShaPasswordEncoder())
                .passwordAttribute("userPassword");

Сообщение об ошибке:-

Произошла внутренняя ошибка при попытке аутентификации пользователя. org.springframework.security.authentication.InternalAuthenticationServiceException: во время обработки LDAP произошло исключение без категории; вложенным исключением является javax.naming.NamingException: [LDAP: код ошибки 1 - 000004DC: LdapErr: DSID-0C0906E8, комментарий: для выполнения этой операции необходимо выполнить успешную привязку соединения., данные 0, v1db1]

Я не уверен, где я иду не так. Я пытался погуглить, но не повезло. Я использую eclipse с весенней безопасностью.


Ответы:


1

Вам необходимо настроить пользователя, которому разрешено читать сервер LDAP.

В вашей AuthenticationConfiguration вы просто определяете URL-адрес сервера LDAP, но не пользователь, которому будет разрешено выполнять поиск и читать оттуда.

.contextSource()
        .url("ldaps://<ap-ldap-server>")
        .port(639)
        .managerDn("cn=binduser,ou=users,dc=ap,dc=domain,dc=com")
        .managerPassword("some pass")

Прочитайте этот ответ Какое имя для входа использовать для Spring Аутентификация LDAP для определения подключения менеджера

01.11.2017
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..