zoukankan      html  css  js  c++  java
  • 【SSOCAS】将CAS https认证的方式改为http

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html
    内部邀请码:C8E245J (不写邀请码,没有现金送)
    国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为“中国PE第一股”,市值超1000亿元。 
    ------------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    最近,在做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" />  
    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" />  
    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.         }  
    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.             }  
    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.             }  



    把这段内容注释掉

  • 相关阅读:
    「SDOI2018」物理实验
    「SDOI 2018」战略游戏
    「CodeChef Dec13 REALSET」 Petya and Sequence 循环卷积
    关于微信卡券投放code接口报错原因
    composer update maatwebsite/excel 之后 在linux机子上出现500解决方案
    开启mysql 服务【window】
    thinkphp在linux上部署环境(500情况)
    如何推广微信小程序到企业微信
    linux 阿里云远程连接mysql
    php7以上 不支持mcrypt_module_open方法问题【微信开放平台】
  • 原文地址:https://www.cnblogs.com/AloneSword/p/2993634.html
Copyright © 2011-2022 走看看