Yale CAS HTTPS认证及证书问题补充(取消默认HTTPS认证)

环境:
tomcat7.05
cas-server-3.4.5
cas-client-3.2.0

CAS SERVER在开发阶段还算挺顺利,但在生产环境下就出现了一些问题了,大多是因为HTTPS引起的。因为开发环境中是单机,而生产环境下一般都是多机情况了尤其是使用单点登录的环境。

记得在之前使用SSL证书的时候CN是使用localhost的,而在生产环境下当然不能这样写了,而写什么呢?写IP的话是必须错的,只能写域名。但我在一个内网环境,没有DNS服务器。如果硬要写域名的话只能靠hosts映射了。

总结一下:

1、HTTPS是CAS SERVER的默认访问通道,由于考虑到安全性,数据都经过通过SSL通道加密传送。

2、使用HTTPS时,CA证书是必须的,而生成证书时的CN尤其重要,其他应用访问CAS SERVER的时候也受到CN所影响,若不匹配则会报异常。(所以localhost是不能使用的,因为其他应用访问时也必须受到https://证书CN/这样的访问限定)

3、若用内网中,没有DNS服务器,只能靠host作CN的域名映射。每台应用系统的hosts都必须增加CN的域名和IP映射条目。

4、默认情况下不信任的授权机构生成的CA证书必然引起浏览器提示。

所以说这个安全性会带来不少的工作量,特别是内网和拿不到正规证书的情况。若一般的应用安全性要求不高的话,也许会考虑取消掉这种HTTPS验证方式。

[b][size=medium]如何去掉HTTPS认证?[/size][/b]
说明:
默认情况下HTTP也是可以访问CAS SERVER的,但认证,登陆,退出等操作均没有任何的效果。所以必须作出下面的修改

在cas-server-3.4.5版本中修改认证方式还算挺简单的,基本不用修改源码。
1、进入WEB-INF\spring-configuration目录
打开warnCookieGenerator.xml文件
修改p:cookieSecure的值为false

2、打开ticketGrantingTicketCookieGenerator.xml文件
同样修改p:cookieSecure的值为false

3、打开WEB-INF\deployerConfigContext.xml文件
查找org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler
把这代码块修改为如下:
                <bean class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"
p:httpClient-ref="httpClient"
p:requireSecure="false"


这样就大功告成了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值