将CAS https认证的方式改为http

来源:互联网 发布:淘宝报名派发报名任务 编辑:程序博客网 时间:2024/05/01 10:42
最近,在做CAS单点登陆的一个模块,由于公司的产品太多,各个系统都要部署,在开发中Https的证书的部署比较麻烦,所以,打算把CAS的Https去掉。具体的修改如下

1.修改cas-servlet.xml
Java代码 复制代码
  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
Java代码 复制代码
  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

Java代码 复制代码
  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

Java代码 复制代码
  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.             }  


把这段内容注释掉
原创粉丝点击