如何保护仅文章所有者可以删除/更新该文章的API?

时间:2019-04-02 19:16:17

标签: spring spring-boot spring-security spring-security-rest

假设我有两个具有User关系的实体ArticleOne-to-Many
现在,用户theCoder创建了一篇文章-“ 如何提出问题?”。文章已使用外键Article保存在theCoder表中。
现在,另一个用户theHacker从某处登录该应用程序,并阅读了“ 如何提出问题?”一文。现在,他/她尝试对文章执行delete / update操作,不允许执行这些操作。只有文章的所有者才能delete / update文章。

我应该如何实现?

一种方法是检查principle(已登录用户的用户名),然后比较创建该文章的用户。如果它们匹配,请删除/更新帖子,否则抛出403 unauthorized

但是要做很多。 Spring安全性提供了一些方便的东西吗?

我正在寻找它,并且具有ACL安全性,但是我不知道它是否是我正在使用的那个。网上也找不到一些好的文章/博客/教程。

1 个答案:

答案 0 :(得分:0)

我认为您提到的方式将是您业务环境中的最佳方式。 ACL比您的方法还要做的工作更多。但是,如果您想尝试,我认为它将为您提供帮助。 article about spring-security-acl