【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 Server端的修改 1、找到cas\WEB-INF\deployerConfigContext.xml 对以下Bean增加参数p:requireSecure="false",该参数表...

CAS基于http认证实现SSO文件配置及说明

CAS实现单点登录,基于HTTP协议,服务端以及客户端应用层面说明描述

CAS 使用 HTTPS 单向认证方式 服务端和客户端配置

注:以下配置为本人亲测,如有问题请留言;转载请注明:http://blog.csdn.net/wqmain/article/details/8562602 目录结构如下: l  名词解释 ...
  • wqmain
  • wqmain
  • 2013年02月01日 15:48
  • 14269

CAS SSO研究一:抛弃Https让Cas以Http协议提供单点登录服务

本文环境: 1、apache-tomcat-7.0.50-windows-x86 2、cas-server-3.4.11 3、cas-client-3.2.1 将cas-server-webapp-...
  • ycyk_168
  • ycyk_168
  • 2014年01月22日 18:51
  • 11886

将CAS 单点登录协议由https改为http

近期公司的一个单点登录框架移交到我手上维护,之前采用的是https,服务器的配置比较麻烦,就想换成http来访问,这样服务器端的配置和维护就简单多啦!           CAS Server:...

单点登录(SSO)和中心认证服务(CAS)

  • 2012年07月30日 15:00
  • 199KB
  • 下载

SSO单点登录学习之CAS中央认证服务

转载自:http://hi.baidu.com/chris_zcl/item/779c333e47be065b80f1a764 SSO单点登录学习之CAS中央认证服务 什么是C...

利用CAS之SSO模块实现单点登录认证

单点登录SSO(Single Sign On)想必大家都耳熟能详,企业信息化过程中会不断的衍生出不同技术平台、不同业务范围、不同场景的应用或支持系统,与此同时我们也有可能会因为高层架构的决策会采用SS...

CAS_SSO单点登录实例详细步骤(转)、Tomcat ssl(https) 配置

CAS_SSO单点登录实例详细步骤(转)、Tomcat ssl(https) 配置            博客分类: SSO&CAS&IdentityJava.Tomcat     ...

(四)SSO之CAS框架单点登录,自定义验证登录方式

应需求的变化,在登录cas的时候,默认根据用户名和密码进行验证,如果加上用户名,密码和一个系统标识进行验证呢?该如何做呢? 我们知道cas默认的登录界面中,输入的用户名和密码,再配置一下deploy...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【SSO-CAS】将CAS https认证的方式改为http
举报原因:
原因补充:

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