обеспечивает CRUD по идентификатору пользователя - PullRequest
0 голосов
/ 12 января 2019

Я нахожусь здесь, чтобы получить некоторые подсказки о реализации безопасности в моем приложении.

Мой бэкэнд - CRUD. Подводя итог, можно сказать, что эти конечные точки CRUD доступны для 2 типов пользователей (администратор и пользователь). Администратор имеет полный доступ, а Пользователь имеет доступ только к своим ресурсам. (Каждый ресурс в MongoDB имеет ссылку на userId).

Я пытался добавить @Query для каждого метода в каждом хранилище, но это не сработало:

@Query("{ 'id' : ?#{hasRole('ROLE_ADMIN') ? {} : principal?.id }}")
Page<User> findAllSecured(Pageable page);

На самом деле, я не уверен, что он может работать (потому что не может запросить все объекты), и если бы он работал, я бы хотел более высокоуровневое решение (избегайте повторения @Query для каждого метода ..).

У вас есть идеи для общего решения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...