在Spring Security中,是否可以将@PostFilter应用于不返回列表而是包裹列表的方法,例如ResponseEntity<List<String>>
?
我的意思是
@PostFilter("filterObject != DISCARD_STR")
ResponseEntity<List<String>> getStringList();
将无法正常工作吗?因为该方法不返回列表,所以不能将过滤后的对象绑定到列表元素。
是否有解决方案来过滤内部列表?
答案 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)
}
}