Например, у меня есть две сущности в моем приложении. TaskGroup
и Task
(задача принадлежит TaskGroup
). Пользователи могут редактировать, запускать, останавливать и удалять задачи. Я собираюсь реализовать безопасность для групп. Это должны быть привилегии уровня группы, которые ограничивают пользователя для редактирования, запуска, остановки и удаления задачи. Например, когда я устанавливаю привилегию для каждой группы TASKGROUP_RUN_TASK
, это означает, что пользователь может запускать все задачи в группе.
Но я запутался в реализации. Это правильный путь:
Для создания пользовательских GrantedAuthority
с идентификатором группы и привилегиями GrantedAuthority(TaskGroup id, String privilege))
, что обеспечивает UserDetailService
?
Для создания пользовательских PermissionEvaluator
(только для TaskGroup
) где я могу проверить, что у пользователя есть права для группы?
Кроме того, я вижу ACL
, но это решение слишком тяжело для моего приложения.