WSO2IS 5.10.0 - Невозможно создать / обновить пользователя в Active Directory - PullRequest
0 голосов
/ 31 марта 2020

Для клиента нам необходимо подключить WSO2IS 5.10.0 к Active Directory. Для этого мы создали дополнительный пользовательский магазин с такой конфигурацией:

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

  • Мы не можем создать пользователя в Active Directory
  • Мы не можем обновить пользователя в Active Directory

Эта проблема дает нам следующую ошибку:

Причина: javax.naming.directory.NoSuchAttributeException: [LDAP: код ошибки 16 - 00000057: LdapErr: DSID-0C090C45, комментарий: ошибка в операции преобразования атрибута , данные 0, v1db1

То, что мы попробовали:

  • Проверьте (и проверьте второй и третий раз), что все наши утверждения сопоставлены правильно (и они )
  • Сброс всех заявок на сопоставление по умолчанию (в состоянии, в котором мы можем создать / обновить пользователя)
  • Установить шаблон DN пользователя (как объяснено здесь )
  • Перезапустите на бесплатном sh экземпляре WSO2IS 5.10.0

Но все, что мы попробовали, не помогает, и мы застряли.

Любая помощь будет быть очень ценным. Спасибо за любые предложения.


Как и просили, это атрибут AD, который мы сопоставили:

  • sn
  • данное имя
  • cn
  • displayName
  • name
  • description
  • mail
  • sAMAccountName
  • userPrincipalName
  • accountExpires
  • pwdLastSet
  • userAccountControl
  • scriptPath
  • homePhone
  • mobile
  • facsimileTelephoneNumber
  • title
  • отдел
  • компания

1 Ответ

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

Здесь проблема LDAP_NO_SUCH_ATTRIBUTE, возвращенная из AD.

  1. Мы не знаем, какой атрибут отсутствует на стороне AD.
  2. Из существующих журналов отладки сервера, возможно, вы не сможете зарегистрировать все атрибуты, которые WSO2 собирается обновить. Поэтому вам нужно выбрать альтернативный вариант.
  3. Проверка вручную - Даже если вы настроили (и подтвердили) только несколько атрибутов, существуют другие утверждения с сопоставлениями атрибутов по умолчанию. Пожалуйста, проверьте все сопоставленные атрибуты, которые есть в диалекте http://wso2.org/claim.
  4. Удаленная отладка - Удаленная отладка сервера, чтобы проверить, какие атрибуты WSO2 пытается записать в. (Меньшее подмножество, чем в предыдущем подходе) Затем проверьте, существуют ли они.
  5. Чтобы выполнить эту удаленную отладку, вы можете проверить исходный код ядра из здесь .
  6. Чтобы узнать правильный tag для оформления заказа, вы можете найти kernel version вашей identity server версии из этой матрицы выпуска .
  7. После того, как вы клонируете и извлекаете правильный тег, вы можете использовать IntelliJ Idea или способная IDE для удаленной отладки сервера, как описано в этом блоге .
  8. Хотя точную строку кода трудно указать, вы можете поставить DEBUG указывает на методы ActiveDirectoryUserStoreManager.doAddUser() и ActiveDirectoryUserStoreManager.doSetUserClaimValue() и начинается оттуда.

PS Вы также можете проверить, содержит ли трассировка стека в журнале углерода какой-либо ключ к ошибочному атрибуту или соответствующему утверждению, так что Вы можете проверить, подтвердить это.

...