`
Kenny.Lee
  • 浏览: 511463 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

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

    博客分类:
  • SSO
阅读更多
环境:
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验证方式。

如何去掉HTTPS认证?
说明:
默认情况下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"


这样就大功告成了
1
0
分享到:
评论
3 楼 zhanglian520 2014-02-17  
这样登录成功后,再次登录都不要密码了啊,直接就进入到应用里了。
2 楼 dengquanhao 2013-03-13  
cas-server-3.4.8版本以上不是修改warnCookieGenerator.xml文件,而是修改cas/WEB-INF/spring-configuration/ticketGrantingTicketCookieGenerator.xml
文件,经过验证cas-server-3.5.1版本是可以的。详细见网址:http://blog.csdn.net/yangsen251024/article/details/7357762
1 楼 grandtang 2011-07-28  
cas-server-3.4.8 以上配置不管用!

相关推荐

Global site tag (gtag.js) - Google Analytics