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