包装列表上的@PostFilter吗?

时间:2019-03-13 08:57:18

标签: spring spring-boot spring-security

在Spring Security中,是否可以将@PostFilter应用于不返回列表而是包裹列表的方法,例如ResponseEntity<List<String>>

我的意思是

@PostFilter("filterObject != DISCARD_STR")
ResponseEntity<List<String>> getStringList();

将无法正常工作吗?因为该方法不返回列表,所以不能将过滤后的对象绑定到列表元素。

是否有解决方案来过滤内部列表?

1 个答案:

答案 0 :(得分:0)

实际上,您可以通过使用@PostAuthorize并编辑对象来实现。

@PostAuthorize("@myService.filter(returnObject.getBody())")
ResponseEntity<List<String>> getStringList();

MyService.java:

@Service
public class MyService {

    public boolean filter(List<String> list) {
        list.remove(DISCARD_STR)
    }

}