Добрый день!
Обновил Jmix plugin до версии 2.1 с версии 2.0 и столкнулся с проблемой, что текущие пользователи перестали видеть ранее разрешенные им экраны в соответствии с ресурными ролями.
Авторизация в приложении организована с помощью LDap через Active Directory, если пользователя нет, он создаётся автоматически и синхронизируется, синхронизация ролей отключена. Выставлены дефолтные значения ролей - ui-minimal и ещё одна для просмотра базовых экранов.
После первого входа пользователя (в данном случае себя), перелогиниваюсь на админа и даю права самому себе full-accecs-role. Опять делаю re-login под своей учёткой, никаких изменения не происходит, доступ только в соответствии с дефолтными ролями в LDap. Если вывести в консоль текущие роли пользователя через способы:
Authentication authentication = currentAuthentication.getAuthentication();
UserDetails user = currentAuthentication.getUser();
Collection<? extends GrantedAuthority> authorities = user.getAuthorities();
for (GrantedAuthority authority : authorities) {
log.info(authority.getAuthority());
}
log.info("FINISH");
Collection<? extends GrantedAuthority> authorities1 = authentication.getAuthorities();
for (GrantedAuthority authority : authorities1) {
log.info(authority.getAuthority());
}
log.info("AUTH");
То получаем следующий вывод в консоли:
2023-11-08T17:00:24.607+03:00 INFO 888 --- [nio-8090-exec-7] r.e.a.v.n.EmployeeNOCListView : ROLE_system-full-access
2023-11-08T17:00:24.607+03:00 INFO 888 --- [nio-8090-exec-7] r.e.a.v.n.EmployeeNOCListView : FINISH
2023-11-08T17:00:24.607+03:00 INFO 888 --- [nio-8090-exec-7] r.e.a.v.n.EmployeeNOCListView : ROLE_ui-minimal
2023-11-08T17:00:24.607+03:00 INFO 888 --- [nio-8090-exec-7] r.e.a.v.n.EmployeeNOCListView : ROLE_employee
2023-11-08T17:00:24.607+03:00 INFO 888 --- [nio-8090-exec-7] r.e.a.v.n.EmployeeNOCListView : AUTH
При этом, если задать в application.properties в параметре jmix.ldap.default-roles помимо вышеуказанных базовых ролей ещё и system-full-accecs, тогда работает и каждому новому пользователю видны все возможности приложения.
Встречал ли кто такое поведение после обновления и как быть? Буквально перед обновлением плагина запаковал приложение в .jar и запустил, там механизм назначения ролей через Ui работает отлично.