用acegi作权限管理

经过几天的努力终于将acegi成功配好了。我使用的是acegisecurity-1.0.7,可以到http://acegisecurity.org下载最新版。

 

首先在Web.xml中添加

 

 

applicationContext-acegi.xml

 

      如果concurrentSessionController的exceptionIfMaximumExceeded属性设置为true,么一旦并发HttpSession数量超过限额,将会重定向到expiredUrl指定的路径。exceptionIfMaximumExceeded一般设置为false. 为true时, 如果已有一个该用户登录了,那么在另一个地方登录该用户将抛出异常 如果设置为false, 那么, 如果已有一个该用户登录了系统, 那么在另一个地方也可以登录,登录后前者会被逼退出系统。

 

  

 

      设置一个安全上下文。其中HttpSessionIntegrationFilter适用于大多数情形。它将Authentication对象保存在HTTP会话中,使之能够跨越多个请求。

 

 

在做认证时可以从数据库中读取帐号密码,关键在<bean id="SecurityUserDetailService" class="com.jlcatvum.web.dao.SecurityUserDetailService">
     <property name="usersByUsernameQuery">
      <value>?</value>
     </property>
    </bean>这个SecurityUserDetailService就是读取自己数据库的bean。

 

 

这是SecurityUserDetailService的代码

 

 

在filterInvocationInterceptor过滤器里设好资源的权限后,就能够在没有登录的情况下访问资源时跳转到登录界面。当然在后面异常处理的过滤器中要指定跳转的页面。

 

 

最后就是异常处理和注销处理,没什么特别照例子做就行。只是要指定出现异常时要制定的页面。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值