Разгранчение прав доступа к Spring REST API
Столкнулся с проблемой разграничения прав доступа разных групп пользователей к одним и тем же объектам в БД. Я использую Spring Data JPA, Spring REST и Spring Security. Фронтэнд будет взаимодействовать с REST API и рендерить всё на стороне клиента. Нужно разграничить права на доступ к методам REST API для различных групп пользователей. До этого момента расставлял аннотации @PreAuthorise на репозиториях и на их методах. Проблемы начались уже на этапе написания тестов, начал искать пути решения в интернете и натолкнулся на интересный ответ на stackoverflow: https://stackoverflow.com/a/21577081/13226066. Там говорится что репозитории - не лучшее место расставлять права, вместо этого используйте сервисы. Подскажите пожалуйста, где можно почитать о такой архитектуре желательно ещё и с примерами. А то, чувствую, я себе отстреливаю ноги со своим подходом.
Нашел примерно такую реализацию: https://habr.com/ru/post/423741/. По-моему это то, что нужно. Насколько я понял, там контроллеры пишут руками (без использования Spring REST), как также сделать в Spring REST? Пробовал помечать аннотацией @RepositoryRestResource не интерфейсы, а классы имплементирующие эти интерфейсы, но нет. Не работает.
Думаю должна быть какая-то прослойка между интерфейсом репозитория и контроллером, который Spring Data REST генерирует автоматически