java - Spring 数据休息 : Return Resources of User

标签 java spring spring-security spring-data-rest

我正在使用 Spring Boot 和 Spring Data Rest 创建一个简单的 CRUD 应用程序(购物 list )。我有一个资源:ShoppingItem。有没有一种简单的方法可以只返回属于发送请求的用户的资源? (多用户支持)所以一个用户只能得到他自己的 ShoppingItems 而不是每个 ShoppingItem。 或者我必须自己实现一个 Controller ,我在哪里做?

我找到了 Spring Data REST filtering data based on the user这种基于用户过滤资源的方法,但这对存储库端点没有帮助。

提前致谢

最佳答案

如果您正在使用 Spring 安全集成,您可以使用 ACL(可能很重)或简单的 postFilter,如下所示:

public interface ShoppingItemRepository extends CrudRepository<ShoppingItem, Long> {
    @PostFilter("filterObject.user.getId() == principal.id")
    @Override
    Iterable<ShoppingItem> findAll();   
}

关于java - Spring 数据休息 : Return Resources of User,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30834138/

相关文章:

java - 表格每一行的编辑链接都会将该行的主键发送到 Controller

grails - 手动向 Spring Security 提供引用 URL

java - 正确配置spring security oauth2

java - 在另一个 JPanel 中重新绘制 JPanel 的问题

Java 正则表达式 : Look behind group does not have an "obvious maximum length"

spring - 如何确保解析期间的异常导致与验证失败返回的(自定义)响应相同类型的响应?

java - 多模块maven项目: Failed to execute goal on project,无法解析项目的依赖关系,无法找到 Artifact

java - tomcat重启后基于spring security java的配置

java - Paypal HttpHostConnectException

java只是花括号