1. 什么是单点登录?
单点登录(Single Sign On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。CAS(Central Authentication Service)是一款不错的针对 Web 应用的单点登录框架,本文介绍了 CAS 的原理、协议、在 Tomcat 中的配置和使用,对于采用 CAS 实现轻量级单点登录解决方案的入门读者具有一定指导作用。
CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。CAS 具有以下特点:
- 开源的企业级单点登录解决方案。
- CAS Server 为需要独立部署的 Web 应用。
- CAS Client 支持非常多的客户端(这里指单点登录系统中的各个 Web 应用),包括 Java, .Net, PHP, Perl, Apache, uPortal, Ruby 等。
再推荐一个关于单点登录配置介绍的博客,
IBM博文,很犀利啊
http://www.ibm.com/developerworks/cn/opensource/os-cn-cas/
tomcat SSL的配置
http://www.oschina.net/question/12_23148
官方文档 权威啊 里面有很多demo和优秀的博客,很多博客都是从这里翻译来的
https://wiki.jasig.org/display/CASC/Home
http://hi.baidu.com/mlkoismlhkbmsvq/item/cafb013227c4689bb80c03bb
http://www.blogjava.net/Jack2007/archive/2008/04/10/191795.html
本文还参考了 一下博客:
http://www.cnblogs.com/dycg/archive/2013/04/04/2999012.html
http://blog.csdn.net/wqmain/article/details/8562602
2. 测试环境
服务端:Windows XP+ JDK1.7 + Tomcat7
客户端:Windows XP+ JDK1.7 + Tomcat7
CAS 服务端版本为 3.5.0,对应客户端jar包版本为 3.2.1
CAS 下载地址:http://www.jasig.org/cas/download 这个是官方地址, 我一直进不去,我在CSDN下载的,可以使用
2. 服务器端怎么安装?
CAS Server 是一套基于 Java 实现的服务,该服务以一个 Java Web Application 单独部署在与 servlet2.3 兼容的 Web 服务器上,另外,由于 Client 与 CAS Server 之间的交互采用 Https 协议,因此部署 CAS Server 的服务器还需要支持 SSL 协议。
一、 生成服务端密钥文件