Spring安全性和验证用户是否可以访问资源的正确方法

时间:2012-02-06 14:29:29

标签: spring spring-security

我使用的是Spring Security,它可以确保用户在访问资源之前具有某个角色。但现在我需要验证一些不同的东西:

`/product/edit/{productId}`

验证登录用户"拥有"的最佳方法是什么? productId我的业务映射处理关系(user的列表为products)。我需要验证此产品属于用户,因此,他们可以编辑它。

我知道如何在控制器和拦截器中访问productId和登录用户。我根本不相信这个逻辑属于控制器。拦截器似乎更好,但我想知道Spring Security是否已经接受了#34;处理这种情况的方法。

1 个答案:

答案 0 :(得分:1)

是的,在Spring中,您可以通过实施访问控制列表来实现这一点。 ACL声明为每个用户指定单个对象的权限。一旦你在数据库和逻辑中设置了像acl条目的所有设置,就可以使用SpEL和@PostFilter注释来控制返回给用户的对象列表。

Spring Security Documentation

Related: