我正在尝试创建自己的方法安全表达式,我想在@PreFilter和@PostFilter注释中使用它。
搜索教程和类似问题,我发现了两种方法。
首先是extendDefaultMethodSecurityExpressionHandler和override createSecurityExpressionRoot,以便给定一个自定义的SecurityExpressionRoot。
@PreAuthorize('isOwner(#someEntity)')
第二种方法是简单地使用 @Component 类和 in @Pre/ @Postfilter 访问它的方法@bean.method()
@PreAuthorize("@mySecurityService.isOwner('#someEntityl')")
我的问题是:哪个是首选方式?如果两者都可以,为什么要选择另一种?
谢谢马可