我使用的是Spring Security,它可以确保用户在访问资源之前具有某个角色。但现在我需要验证一些不同的东西:
`/product/edit/{productId}`
验证登录用户"拥有"的最佳方法是什么? productId
?我的业务映射处理关系(user
的列表为products
)。我需要验证此产品属于用户,因此,他们可以编辑它。
我知道如何在控制器和拦截器中访问productId
和登录用户。我根本不相信这个逻辑属于控制器。拦截器似乎更好,但我想知道Spring Security是否已经接受了#34;处理这种情况的方法。
答案 0 :(得分:1)
是的,在Spring中,您可以通过实施访问控制列表来实现这一点。 ACL声明为每个用户指定单个对象的权限。一旦你在数据库和逻辑中设置了像acl条目的所有设置,就可以使用SpEL和@PostFilter注释来控制返回给用户的对象列表。