天天看点

SSO之CAS去掉HTTPS协议

前言

CAS默认使用的是HTTPS协议,如果使用https协议需要SSL安全证书,需要申请购买,如果不想配置https协议,本文将介绍如果去掉CAS的https协议。

关于CAS如果部署搭建,参考上一篇文章:https://blog.csdn.net/qq_15076569/article/details/83656518

进入tomcat中的cas项目中:

1)修改WEB-INF/deployerConfigContext.xml

找到

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

增加参数p:requireSecure="false",requireSecure属性意思为是否需要安全验证,即HTTPS,false为不采用

    <!-- Required for proxy ticket mechanism. -->

    <bean id="proxyAuthenticationHandler"

          class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"

          p:httpClient-ref="httpClient" p:requireSecure="false" />

2)修改cas的/WEB-INF/spring-configuration/ticketGrantingTicketCookieGenerator.xml找到下面配置

参数p:cookieSecure="true",同理为HTTPS验证相关,TRUE为采用HTTPS验证,FALSE为不采用https验证。

参数p:cookieMaxAge="-1",是COOKIE的最大生命周期,-1为无生命周期,即只在当前打开的窗口有效,关闭或重新打开其它窗口,仍会要求验证。可以根据需要修改为大于0的数字,比如3600等,意思是在3600秒内,打开任意窗口,都不需要验证。

我们这里将cookieSecure改为false , cookieMaxAge 改为3600

    <bean id="ticketGrantingTicketCookieGenerator" class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator"

        p:cookieSecure="false"

        p:cookieMaxAge="3600"

        p:cookieName="CASTGC"

        p:cookiePath="/cas" />

3)修改cas的WEB-INF/spring-configuration/warnCookieGenerator.xml找到下面配置

参数修改为和上面2一致

    <bean id="warnCookieGenerator" class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator"

        p:cookieSecure="false"

        p:cookieMaxAge="3600"

        p:cookieName="CASPRIVACY"

        p:cookiePath="/cas" />

将cookieSecure改为false , cookieMaxAge 改为3600