Перезапись ролей при синхронизации пользователя через addon

Уважаемые коллеги!
Обнаружена проблема при синхронизации пользователя через addon ldap: происходит постоянная перезапись ролей у пользователя, несмотря на правила LDAP Matching Rules.
1)Специально создал чистую базу. Пока присутствуют только admin и anonymous.
2)Далее - первый вход под учёткой AD - создался новый пользователь, всё хорошо.
3)Назначаю ему дополнительные роли.
4)После этого следующая авторизация под этой учеткой, - происходит синхронизация LDAP - и у пользователя остается только роль Default LDAP role (та, которая указана в LDAP Matching Rule, игнорируется галочка Override exisiting roles)

Правило стоит стандартное:
0
Его настройки, галочка Override exisiting roles не стоит:
1
Назначаю дополнительную роль для пользователя, сохраняю:
2
После еще одной авторизации под это учеткой в логах LDAP, перезапись происходить не должна:
3
По факту перезапись происходит:
4

на github имеется closed issue от июня 2019 с подобной проблемой, тем не менее проблема присутствует…
Версия аддона LDAP последняя на текущий момент: 1.5.2

Похоже, что проблема возникает с design-time ролями. Если назначить пользователю роль, определённую в базе данных, то всё работает как ожидается.
Завёл тикет. Спасибо, что сообщили.

1 симпатия

Кроме перезаписи ролей проблема и с перезаписью поля Language.
После выбора языка в настройках пользователя, при следующем его входе с использованием LDAP поле Language обнуляется.
В логах
User Info Before - Language: ru_RU
User Info After - Language: null

ldap-addon v1.5.3
platform v.7.2.13

Здравствуйте!

Какое значение у вас указано в поле Language Attribute в окне LdapConfig и какие атрибуты установлены у вашего пользователя на сервере Ldap?

В окне LdapConfig Language Attribute по умолчанию preferredLanguage. На сервере LDAP атрибут не установлен.

В таком случае все отрабатывает корректно. У вас для языка установлен атрибут preferredLanguage, но на сервере LDAP для пользователя этот атрибут не установлен, поэтому проставляется null. Чтобы при синхронизации пользователя язык оставался, например English, вам нужно создать атрибут на сервере для языка (указав значение “eu”), потом указать его в LdapConfig.

Для первоначальной настройки языка при первом логине через LDAP и создания пользователя в проекте это нормально. Удивляет перезаписывание языка для существующего пользователя, после того, как он вручную, в настройках системы указал язык.

Спасибо, что сообщили о проблеме. Ссылка на тикет: https://github.com/cuba-platform/ldap-addon/issues/103.