CAS-shiro 相关配置

   最近公司要整合CAS单点登录,权限框架使用的是shiro(不了解的同学可以去看看,很方便的一个轻量级框架),CAS之前也做过,但之前没有使用shiro这套框架,所以这里记录下CAS与Shiro的集成步骤以及需要注意到的地方。

1.首先当然是下载相关jar包,我们项目是maven结构的,这里给出pom文件配置示例

       <dependency>
    		<groupId>org.apache.shiro</groupId>
    		<artifactId>shiro-cas</artifactId>
    		<version>1.2.5</version>
	</dependency>
	<dependency>
    		<groupId>org.jasig.cas.client</groupId>
    		<artifactId>cas-client-core</artifactId>
    		<version>3.2.1</version>
	</dependency>
:本文主要用来记录CAS与Shiro的集成配置,所以CAS相关内容不做描述。


2.定义casRealm 示例如下



3.spring-shiro.xml相关配置


4.修改cas服务端的配置,使其支持登出跳转
cas-servlet.xml 中找到节点 logoutAction  修改  followServiceRedirects属性为true

5.由于cas单点登录只会注销掉 web session  而shiro的session 需要我们自己注销,这里我参考了修改 单点登出过滤器与监听器的方式  
自定义了 SingleSignOutFilter 与SingleSignOutHttpSessionListener  
doFilter 添加注销 shiro session代码
    
          handler.destroySession(request);
            //调用shiro的logout方法
            log.debug("subject.logout() --start");
            Subject subject = SecurityUtils.getSubject();
            subject.logout();
            log.debug("subject.logout() --end");
 
  



你可能感兴趣的:(CAS-shiro,单点登录登出)