【SSO-CAS】将CAS https认证的方式改为http

转载 2016年06月02日 09:42:05

原文地址:http://blog.csdn.net/designlife/article/details/2956814

http://www.cnblogs.com/AloneSword/archive/2013/04/01/2993634.html

最近,在做CAS单点登陆的一个模块,由于公司的产品太多,各个系统都要部署,在开发中Https的证书的部署比较麻烦,所以,打算把CAS的Https去掉。具体的修改如下 

1.修改cas-servlet.xml 

  1. <bean id="warnCookieGenerator" class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator"  
  2.         p:cookieSecure="true"  
  3.         p:cookieMaxAge="-1"  
  4.         p:cookieName="CASPRIVACY"  
  5.         p:cookiePath="/cas" />   
  6.        
  7.     <bean id="ticketGrantingTicketCookieGenerator" class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator"  
  8.         p:cookieSecure="true "  
  9.         p:cookieMaxAge="-1"  
  10.         p:cookieName="CASTGC"  
  11.         p:cookiePath="/cas" />  
  1. <bean id="warnCookieGenerator" class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator"  
  2.         p:cookieSecure="true"  
  3.         p:cookieMaxAge="-1"  
  4.         p:cookieName="CASPRIVACY"  
  5.         p:cookiePath="/cas" />  
  6.       
  7.     <bean id="ticketGrantingTicketCookieGenerator" class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator"  
  8.         p:cookieSecure="true "  
  9.         p:cookieMaxAge="-1"  
  10.         p:cookieName="CASTGC"  
  11.         p:cookiePath="/cas" />  


把上面连个bean中的p:cookieSecure="true "修改为p:cookieSecure="false" 
2.修改deployerConfigContext.xml 

  1. <bean class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"  
  2.                     p:httpClient-ref="httpClient" />  
  1. <bean class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"  
  2.                     p:httpClient-ref="httpClient" />  



添加p:requireSecure="false" 

3.修改casclient的客户端 

修改客户端的https验证 
(1).edu.yale.its.tp.cas.client.filter.edu.yale.its.tp.cas.client.filter 

  1. if (! casValidate.startsWith("https://")){   
  2.             throw new ServletException("validateUrl must start with https://, its current value is [" + casValidate + "]");   
  3.         }   
  4. if (casServiceUrl != null){   
  5.             if (! (casServiceUrl.startsWith("https://")|| (casServiceUrl.startsWith("http://") ))){   
  6.                 throw new ServletException("service URL must start with http:// or https://; its current value is [" + casServiceUrl + "]");   
  7.             }   
  8.         }  
  1. if (! casValidate.startsWith("https://")){  
  2.             throw new ServletException("validateUrl must start with https://, its current value is [" + casValidate + "]");  
  3.         }  
  4. if (casServiceUrl != null){  
  5.             if (! (casServiceUrl.startsWith("https://")|| (casServiceUrl.startsWith("http://") ))){  
  6.                 throw new ServletException("service URL must start with http:// or https://; its current value is [" + casServiceUrl + "]");  
  7.             }  
  8.         }  


把这两段内容注释掉 

(2).修改edu.yale.its.tp.cas.util.SecureURL 

  1. if (!u.getProtocol().equals("https")){   
  2.                 // IOException may not be the best exception we could throw here   
  3.                 // since the problem is with the URL argument we were passed, not   
  4.                 // IO. -awp9   
  5.                 log.error("retrieve(" + url + ") on an illegal URL since protocol was not https.");   
  6.                             throw new IOException("only 'https' URLs are valid for this method");   
  7.             }  
  1. if (!u.getProtocol().equals("https")){  
  2.                 // IOException may not be the best exception we could throw here  
  3.                 // since the problem is with the URL argument we were passed, not  
  4.                 // IO. -awp9  
  5.                 log.error("retrieve(" + url + ") on an illegal URL since protocol was not https.");  
  6.                             throw new IOException("only 'https' URLs are valid for this method");  
  7.             }  



把这段内容注释掉

将CAS https认证的方式改为http

最近,在做CAS单点登陆的一个模块,由于公司的产品太多,各个系统都要部署,在开发中Https的证书的部署比较麻烦,所以,打算把CAS的Https去掉。具体的修改如下 1.修改cas-servlet.x...
  • DesignLife
  • DesignLife
  • 2008年09月21日 00:15
  • 6323

将CAS的HTTPS认证方式改为HTTP

一、CAS Server端的修改 1、找到cas\WEB-INF\deployerConfigContext.xml 对以下Bean增加参数p:requireSecure="false",该参数表...
  • czplplp_900725
  • czplplp_900725
  • 2014年06月12日 13:06
  • 789

cas 认证流程

一 配置实例 应用场景: cas 服务部署在192.168.7.115 ,是一个web 应用,访问地址为:https://cas.mycompany.com:8443/cas/ 。web1 应用位于...
  • dongdong_java
  • dongdong_java
  • 2014年03月27日 15:36
  • 16059

cas 入门之三:cas 之http 部署(CAS取消https方法配置)

http://www.coin163.com/java/docs/201305/d_2795028902.html
  • zhurhyme
  • zhurhyme
  • 2014年04月18日 21:52
  • 7690

CAS单点登录五-使用http而不是https

配置https是有些许麻烦的,那能不能让cas使用http协议,而不用https呢,答案是可以的。     首先要把cas-client所在的项目的web.xml里cas-server的两个url改...
  • redstarofsleep
  • redstarofsleep
  • 2016年06月27日 16:58
  • 1969

Cas(4)-更改认证方式

在Cas Server的WEB-INF目录下有一个deployerConfigContext.xml文件,该文件是基于spring的配置文件,里面存放的内容常常是部署人员需要修改的内容。其中认证方式也...
  • zmx729618
  • zmx729618
  • 2016年05月25日 13:49
  • 1217

1、cas4.0 单点登录 之 https证书

cas4.0 单点登录 之 https证书公司项目使用分布式部署,使用单点登录可使各节点无状态,达到业务与用户认证解耦;cas-server与cas-client通讯安全完全基于https,需要ssl...
  • zrk1000
  • zrk1000
  • 2016年04月16日 11:55
  • 3830

cas 部署https服务端和客户端http

服务端:Windows Server 2008 + JDK1.6 + Tomcat6.0 客户端:Windows XP/WIN7 + JDK1.6 + Tomcat6.0   配置...
  • z313731418
  • z313731418
  • 2016年08月18日 11:15
  • 1494

Apereo CAS 5.0.X 默认提供的数据库认证的四种方式

Apereo CAS 5.0.X中为我们提供了四种基于JDBC的AuthenticationHandler的实现,在cas-server-support-jdbc子模块中,下面一一对他们进行介绍。Qu...
  • chen517611641
  • chen517611641
  • 2017年03月06日 20:12
  • 4100

cas 单点登录修改认证方式 jeesite

本文借鉴单点登录CAS系列第04节 首先我们要将cas导入到myeclipse中,具体方法(自己创建项目,gradle转),我用的第一个方法,创建web项目后,将编译后的文件拷贝到项目中,目录一...
  • xiaobing_122613
  • xiaobing_122613
  • 2017年06月06日 17:39
  • 398
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【SSO-CAS】将CAS https认证的方式改为http
举报原因:
原因补充:

(最多只允许输入30个字)