shiro集成cas搭建SSO单点登录系统

本文介绍了如何在多应用系统中利用Java的Shiro框架集成CAS(Central Authentication Service)来构建SSO单点登录系统。通过配置Shiro的filter和相关bean,实现了用户在任一应用登录后,其他应用自动登录的效果。当用户在任一应用退出时,将从所有应用中注销。配置包括ShiroFilter的设置,CasFilter、CasRealm以及SecurityManager的配置。
摘要由CSDN通过智能技术生成

在多应用系统中,登录一般是统一进行管理,在一个应用中登录了,在其他应用则不用登录,在任何一个应用进行退出,则当前用户已经在所有应用退出,即SSO单点登录。在大型网站新浪、淘宝,都实现了单点登录系统,避免了多个子系统都需要重复登录的现象。

      成熟的Java单点登录系统有jasig cas server,与shiro集成,可以在登录时,跳到cas服务器,cas服务器连接用户的用户名、密码表进行验证,如果验证通过,跳回验证前页面,并带上一个ticket参数,shiro通过这个ticket,进行登录。

  1. <filter>  
  2.         <filter-name>shiroFilter</filter-name>  
  3.         <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>  
  4.         <init-param>  
  5.             <param-name>targetFilterLifecycle</param-name>  
  6.             <param-value>true</param-value>  
  7.         </init-param>  
  8.     </filter>  
  9.       
  10.     <filter-mapping>  
  11.         <filter-name>shiroFilter</filter-name>  
  12.         <url-pattern>/*</url-pattern>  
  13.     </filter-mapping>  

然后就是shiro的spring bean配置,其实就是把之前的shiro.ini的东西配成spring的bean,shiro-config.xml文件如下:

[html]
  1. <beans xmlns="http://www.springframework.org/schema/beans"  
  2.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"  
  3.     xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"  
  4.     xmlns:util="http://www.springframework.org/schema/util"  
  5.     xsi:schemaLocation="  
  6.      http://www.springframework.org/schema/beans   
  7.      http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
  8.      http://www.springframework.org/schema/context   
  9.      http://www.springframework.org/schema/context/spring-context-3.0.xsd  
  10.      http://www.springframework.org/schema/util  
  11.      http://www.springframework.org/schema/util/spring-util-3.0.xsd"  
  12.     default-lazy-init="true">  
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值