jasig CAS客户端配置

一点感悟:由于项目需要用到了CAS单点登录技术,前段时间对CAS单点登录进行了服务器端配置,比较顺利,难就难做在CAS客户端配置,花了不少时间,希望借此一点经验与大家分析,让学习的人少走弯路。

一、环境准备

  1. jdk1.7
  2. tomact7
  3. cas-server-3.4.6-release
  4. cas-client-3.2.1
二、配置cas-server-3.4.6数据源
1、修改在tomact/webapps/cas-server-webapp-3.4.6/WEB-INF中的deployerConfigContext.xml文件中的认证方式及添加mysql数据源,如下:
修改数据库认证方式

    
	
	
	
	  
                
               
         
    

添加配置mysql数据源




    
    
    
    
	
2、创建casuserdatabase数据库,新建app_user数据表,如下:

CREATE TABLE `app_user` (
  `t_id` int(11) PRIMARY KEY AUTO_INCREMENT NOT NULL,
  `t_username` varchar(30) NOT NULL,
  `t_password` varchar(30) NOT NULL,
);

三、配置cas-client-3.2.1客户端

1、下载cas-client-3.2.1客户端,下载地址:https://www.apereo.org/projects/cas/download-cas,

jasig CAS客户端配置_第1张图片

2、将cas-client-3.2.1进行解压,然后在modules文件夹中将cas-client-core-3.2.1.jar,cas-client-integration-tomcat-v7-3.2.1.jar、commons-logging-1.1.jar、commons-codec-1.4.jar四个jar包拷贝到web项目工程WEB-INF/lib下,如图:

jasig CAS客户端配置_第2张图片

3、配置web项目中的web.xml,如下:



	
	
		login.jsp
	
	
	
		org.jasig.cas.client.session.SingleSignOutHttpSessionListener
	
	
	
		CasSingleSignOutFilter
		org.jasig.cas.client.session.SingleSignOutFilter
	
	
		CasSingleSignOutFilter
		/*
	
	
	
		CASFilter
		org.jasig.cas.client.authentication.AuthenticationFilter
		
		
			casServerLoginUrl
			http://172.22.6.9:8888/cas/login
		
		
		
			serverName
			http://172.22.6.9:8888
		
	
	
		CASFilter
		/*
	
	
	
		CASTicketValidator
		org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter
		
		
			casServerUrlPrefix
			http://172.22.6.9:8888/cas
		
		
			serverName
			http://172.22.6.9:8888
		
	
	
		CASTicketValidator
		/*
	
	
	
		CASRequestWrapperFilter
		org.jasig.cas.client.util.HttpServletRequestWrapperFilter
	
	
		CASRequestWrapperFilter
		/*
	
	
	
		CASAssertionThreadLocalFilter
		org.jasig.cas.client.util.AssertionThreadLocalFilter
	
	
		CASAssertionThreadLocalFilter
		/*
	
	
	
	   AutoSetUserAdapterFilter
	   com.demo.servlet.AutoSetUserAdapterFilter
	
	
	   AutoSetUserAdapterFilter
	   /*
	


配置web.xml有两点需要注意:

1、CASFilter中的cas服务器地址要配置http://localhost:8888/cas/login;


   CASFilter
   org.jasig.cas.client.authentication.AuthenticationFilter
   
   
      casServerLoginUrl
      http://172.22.6.9:8888/cas/login//注意URL
   
   
   
      serverName
      http://172.22.6.9:8888
  

2、CASTicketValidator中的cas服务器地址要配置http://172.22.6.9:8888/cas



   CASTicketValidator
   org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter
   
   
      casServerUrlPrefix
      http://172.22.6.9:8888/cas//注意URL
   
   
      serverName
      http://172.22.6.9:8888
   
如果URL地址一致,会出现错误:

org.xml.sax.SAXParseException; lineNumber: 64; columnNumber: 23; 元素类型 "label" 必须由匹配的结束标记 "" 终止。
org.xml.sax.SAXParseException; lineNumber: 64; columnNumber: 23; 元素类型 "label" 必须由匹配的结束标记 "" 终止。
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:441)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:368)
at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1436)
效果:

在浏览器中输入web项目地址:172.22.6.9:8888/demo,会跳转到http://172.22.6.9:8888/cas/login?service=http%3A%2F%2F172.22.6.9%3A8888%2Fdemo%2F单点登录界面,然后输入帐号与密码,ok!

jasig CAS客户端配置_第3张图片



 

你可能感兴趣的:(cas)