Spring Security 3用户登录实现之十 用户切换

 部分情况下用户希望能够在不知道其它用户账号及密码的情况下,直接通过内部系统切换到另一个用户,比如一个项目经理希望在一个项目管理系统中直接切换到他的项目组下的成员账号上去,这时候就可以考虑使用Spring Security提供的Switch user功能。Switch user功能的大致流程是向服务器发送一个切换用户的请求,请求参数要有用户名称,SwitchUserFilter拦截这个请求,并从中取出要切换的用户的用户名称进行处理。下面来看看如何配置一个Switch user功能吧。

 

      1. 配置SwitchUserFilter

 

 

Xml代码   收藏代码
  1. <beans:bean id="switchUserFilter" class="org.springframework.security.web.authentication.switchuser.SwitchUserFilter">  
  2.     <beans:property name="userDetailsService" ref="userService"/>  
  3.     <beans:property name="usernameParameter" value="username"/>  
  4.     <beans:property name="targetUrl" value="/switch/success"/>  
  5.     <beans:property name="switchUserUrl" value="/switch"/>  
  6.     <beans:property name="exitUserUrl" value="/exit"/>  
  7. </beans:bean>  

 

     usernameParameter属性表示传递的用户名称的参数名称

     switchUserUrl属性表示SwitchUserFilter拦截的请求地址

     targetUrl属性表示切换用户成功后应该转向哪个地址

     exitUserUrl表示切换用记成功后如果想要退出应该设置的url请求地址

 

      2. 向Spring Security Filter Chain中添加SwitchUserFilter

 

      <custom-filter ref="switchUserFilter" after="FILTER_SECURITY_INTERCEPTOR"/>

 

      这里需要注意的是switchUserFilter要加入FILTER_SECURITY_INTERCEPTOR之后

 

 

  • TEMPLATE.zip (188 KB)

  • 原文地址:http://dreamzhong.iteye.com/blog/1727764
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值