Acegi框架总结(二)

配置完了Acegi的身份验证,接着就要用Acegi来控制访问了

Acegi通过投票管理器来决定是否有访问该资源的权限,投票方式有三种:

一票通过制(AffirmativeBased):有一票通过即可以访问该资源
全票通过制(ConsensusBased):只有全部通过才能访问资源
一票否决制(UnanimousBased):没有拒绝票时允许访问

配置如下:

xml 代码
  1. <!-- 访问决策投票管理 -->  
  2.     <bean id="accessDecisionManager"  
  3.         class="org.acegisecurity.vote.AffirmativeBased">  
  4.         <property name="allowIfAllAbstainDecisions" value="false" />  
  5.         <property name="decisionVoters">  
  6.             <list>  
  7.                 <ref bean="roleVoter" />  
  8.                 <bean class="org.acegisecurity.vote.AuthenticatedVoter" />  
  9.             </list>  
  10.         </property>  
  11.     </bean>  

其中allowIfAllAbstainDecisions代表了弃权票的解决方式为:所有投票皆弃权,不允许访问

xml 代码
  1. <bean id="roleVoter" class="org.acegisecurity.vote.RoleVoter">  
  2.     <property name="rolePrefix">  
  3.         <value>AUTH_</value>  
  4.     </property>  
  5. </bean>  

投票管理器实现了AccessDecisionVoter接口,你可以自己编写投票器

其中常量ACCESS_GRANTED表示允许访问资源、ACCESS_DENIED表示拒绝访问资源,ACCESS_ABSTAIN表示不关心资源。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值