Предположим, у меня есть две сущности User
и Article
, имеющие отношение One-to-Many
.
Теперь пользователь theCoder
создал статью - « Как задать вопрос? ». Статья сохранена в Article
таблице с внешним ключом theCoder
.
Теперь другой пользователь theHacker
откуда-то вошел в приложение и прочитал статью " Как задать вопрос? ". Теперь он / она попытался выполнить delete
/ update
действий над статьей, что им не разрешено. delete
/ update
статья может только владелец статьи.
Как мне этого добиться?
Один из способов - проверить principle
(зарегистрированное имя пользователя), а затем сравнить пользователя, создавшего эту статью. Если они совпадают, удалите / обновите сообщение, в противном случае выведите 403 unauthorized
.
Но это было бы много. Есть ли что-то удобное, обеспеченное службой безопасности Spring?
Я искал его, и есть защита ACL, но я не понимаю, используется ли я этим. Также нет хороших статей / блогов / учебных пособий, найденных в сети.