springSecurity是一个高度可配置的安全框架,它既提供了许多默认的配置方便初学者,也可以通过定制化的配置来完成不同系统的个性化需求。下面要讲的就是配置自定义的访问决策管理器。
在springSecurity中,我们可以通过过滤器来实现粗粒度的对web请求的访问控制,也可以使用访问决策管理器来对方法级别进行细粒度的权限控制。背后就是通过aop中的around advice或者AspectJ来实现的。
配置如下:
<global-method-security jsr250-annotations="enabled" />
这个配置是启用JSR250的使用
<global-method-security access-decision-manager-ref="myAccessDecisionManagerBean">
通过配置这个,就可以使用自己写的访问决策管理器。springSecurity默认提供了几种类型的访问决策管理器,
例如一票通过,多票通过,全票通过,默认提供了这三种roleVoter投票机制。这个可以根据自己的业务场景进行灵活的配置。