您将无法调用私有方法,但可以在另一个spring
bean中调用方法。在我的应用程序中,我有一个名为Permissionevaluator的@Component。然后,我在@PreAuthorize中引用它,如下所示:
@PreAuthorize("@permissionevaluator.canViewImageSet( #imageSet, principal )")@RequestMapping(value="/image", method=RequestMethod.GET )public String getImage( @RequestParam(value="imageSet", required=false) ImageSet imageSet ) { // method body}PermissionevaluatorImpl看起来像这样:
@Component(value="permissionevaluator")public class PermissionevaluatorImpl implements Permissionevaluator{ public PermissionevaluatorImpl() {} public boolean canViewImageSet( ImageSet imageSet, UserDetailsAdapter user ) { // pre to see if they should view this image }}和Permissionevaluator是我自己的界面,没有什么特别的,不管我需要评估什么方法。



