配置https是有些许麻烦的,那能不能让cas使用http协议,而不用https呢,答案是可以的。
首先要把cas-client所在的项目的web.xml里cas-server的两个url改成http的。
只改web.xml也是能跑起来的,你会发现也能登录,但是这时候不是单点的,即在应用A通过cas-server登录后切换到应用B,会发现仍然要求登录。
所以下面还要修改cas-server
找到cas-server的/WEB-INF/spring-configuration/ticketGrantingTicketCookieGenerator.xml文件,把ticketGrantingTicketCookieGenerator这个bean的p:cookieSecure="true"属性改为false
<bean id="ticketGrantingTicketCookieGenerator" class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator"
p:cookieSecure="true" //就是这个属性
p:cookieMaxAge="-1"
p:cookieName="CASTGC"
p:cookiePath="/cas" />
然后再修改deployerConfigContext.xml文件,每次都有这个配置文件哦。。给HttpBasedServiceCredentialsAuthenticationHandler增加一个属性,p:requireSecure="false"。
改后变成这样:
<bean class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"
p:httpClient-ref="httpClient"
p:requireSecure="false" />
改完重启tomcat就可以了