Как обезопасить API, в котором только владелец статьи может удалить / обновить эту статью? - PullRequest
1 голос
/ 02 апреля 2019

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

Как мне этого добиться?

Один из способов - проверить principle (зарегистрированное имя пользователя), а затем сравнить пользователя, создавшего эту статью. Если они совпадают, удалите / обновите сообщение, в противном случае выведите 403 unauthorized.

Но это было бы много. Есть ли что-то удобное, обеспеченное службой безопасности Spring?

Я искал его, и есть защита ACL, но я не понимаю, используется ли я этим. Также нет хороших статей / блогов / учебных пособий, найденных в сети.

1 Ответ

0 голосов
/ 03 апреля 2019

Я думаю, то, что вы упомянули, будет лучшим способом в вашей бизнес-среде. ACL будет больше работы, чем ваш метод. но если вы хотите попробовать, я думаю, это поможет вам. статья о Spring-Security-ACL

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