最近打算把公司的管理系统进行拆分,关于单点登录还是选用了cas.选用的版本为4.1.10。因为是公司内部使用,所以还是将cas以http协议的形式部署。但是它不同与cas 3版本,所以在此记录一下。
步骤
将cas4.1.10以http协议发布需要如下步骤:
1.deployerConfigContext.xml修改
1.deployerConfigContext.xml修改
<bean id="proxyAuthenticationHandler" class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"
p:httpClient-ref="supportsTrustStoreSslSocketFactoryHttpClient"
p:requireSecure="false" />
即增加 requireSecure="false"属性
2. spring-configuration/ticketGrantingTicketCookieGenerator.xml
<bean id="ticketGrantingTicketCookieGenerator" class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator"
c:casCookieValueManager-ref="cookieValueManager"
p:cookieSecure="false"
p:cookieMaxAge="-1"
p:cookieName="TGC"
p:cookiePath=""/>
设置 cookieSecure="false"
3.spring-configuration/warnCookieGenerator.xml
<bean id="warnCookieGenerator" class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator"
p:cookieHttpOnly="true"
p:cookieSecure="false"
p:cookieMaxAge="-1"
p:cookieName="CASPRIVACY"
p:cookiePath=""/>
设置 cookieSecure="false"
最后一处设置为
p:cookieHttpOnly="true"
p:cookieSecure="false"
p:cookieMaxAge="-1"
p:cookieName="CASPRIVACY"
p:cookiePath=""/>
设置 cookieSecure="false"
最后一处设置为
4.services目录下
4.1.services/Apereo-10000002.json中的 "serviceId" : "^https.*"改为 "serviceId" : "^http.*"
4.2 services/HTTPSandIMAPS-10000001.json中的 "serviceId" : "^(https|imaps)://.*",改为 "serviceId" : "^(http|imaps)://.*"
4.3 这两处你只需要更改一处就可以,你也可以都测试一下,这两种更改的方式有何不同(cas4的这种设计是不是可以解决之前cas 3很难解决的业务子系统的登录页面自定义的形式?看来cas的开发人员在背后也没有少下功夫,呵呵)
另可以参看我的github地址 https://github.com/zhuzhong/cas-web.git (这个是将cas的web服务单独独立出来的应用)
Good Luck for you!
4.1.services/Apereo-10000002.json中的 "serviceId" : "^https.*"改为 "serviceId" : "^http.*"
4.2 services/HTTPSandIMAPS-10000001.json中的 "serviceId" : "^(https|imaps)://.*",改为 "serviceId" : "^(http|imaps)://.*"
4.3 这两处你只需要更改一处就可以,你也可以都测试一下,这两种更改的方式有何不同(cas4的这种设计是不是可以解决之前cas 3很难解决的业务子系统的登录页面自定义的形式?看来cas的开发人员在背后也没有少下功夫,呵呵)
另可以参看我的github地址 https://github.com/zhuzhong/cas-web.git (这个是将cas的web服务单独独立出来的应用)
Good Luck for you!