Я не могу поверить, что все, что я нахожу для определения иерархий ролей, это какая-то странная .xml запись назначений ">". Должен быть способ создания объекта RoleHierarchy из иерархии ролей, определенных в базе данных ..?!
Я думаю о таблице, в которой есть столбцы:
определение отношения «многие ко многим» между ролью и ролью, говоря: какую роль играют какие дети? Я думаю, что я предпочел бы детей по сравнению с родителями, поскольку в этих XML-файлах настраивается иерархия: ADMIN> USER, USER> VISITOR.
(Это, кстати, заставляет задуматься, поддерживает ли стандартная реализация такие вещи, как ADMIN> USER, VISITOR, что означает, что USER и VISITOR находятся «на одном уровне».)
Теперь, если я хочу позвонить
roleHierarchy.getReachableGrantedAuthorities(authentication.getAuthorities()));
Мне нужен объект реализации RoleHierarchy. Spring-security предоставляет один, но установщик принимает только это странное строковое представление. Я действительно не хочу преобразовывать результаты своей базы данных в строковое представление, а работаю с какой-то древовидной структурой.
Так что, похоже, единственный способ - расширить реализацию и написать собственный установщик для работы с набором результатов моей базы данных для построения rolesReachableInOneStepMap
и rolesReachableInOneOrMoreStepMap
.
Или кто-нибудь знает другое решение?
Спасибо за любые указатели или подтверждение!