您好 我是Spring Security 3的新手,并且正在尝试在接口中声明的方法上使用@PostFilter,但返回的Collection没有被过滤。
以下是代码:
public interface IProductService {
@PostFilter("(!filterObject.customersOnly) or (filterObject.customersOnly and hasRole('ROLE_USER'))")
Collection<Category> getCategories();
}
customerOnly是域对象类别中的布尔属性。
我在xyz-security.xml上添加了以下元素:
<global-method-security pre-post-annotations="enabled" />
有人可以帮我理解我错过了什么吗?
由于
答案 0 :(得分:0)
典型的原因是:
如果这些建议都不适用,请启用DEBUG日志记录并观察应用程序启动以查看是否完全处理了bean注释。
顺便说一下,我有很多读者报告过这个问题的类似风格 - 这个样本的源代码确实有效,但在所有情况下,读者已经改变了以上4个项目之一,导致示例代码为“break”;)