本文目录:
- 一、概述
- 二、演示环境及host文件配置,tomcat端口号修改。
- 三、JDK安装配置
- 四、安全证书配置
- 五、部署CAS-Server相关的Tomcat
- 六、部署CAS-Client相关的Tomcat
- 七、 测试验证SSO
一、概述
公司要求做一个单点登录,所以在网上学习制作了一个cas的小例子,方便以后查看。
CAS的官网:http://www.jasig.org/cas
二、演示环境
本文演示过程在同一个机器上的(也可以在三台实体机器或者三个的虚拟机上),环境如下:
- windows7 64位,主机名称:michael-pc
- JDK 1.6.0_18
- Tomcat 6.0.29
- CAS-server-3.4.11、CAS-client-3.2.1
- server.zyz.com =>> 对应部署cas server的tomcat,这个虚拟域名还用于证书生成
- client1.zyz.com =>> 对应部署服务工程 的tomcat
- client2.zyz.com =>> 对应部署服务工程的tomcat
<Server port="18005" shutdown="SHUTDOWN">
<Connector port="8082" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="18443" />
<Connector port="18009" protocol="AJP/1.3" redirectPort="18443" />
三、JDK安装配置
因为cas是java框架,需要在JVM中运行,所以需要配置安装和配置JDK。jdk安装过程不再赘述。
我使用的jdk版本是1.8.0
四、安全证书配置
CAS默认使用的是HTTPS协议,如果对安全要求不高,可使用HTTP协议。下面分别介绍使用http协议和使用https协议的配置。
1.使用http协议。
修改deployerConfigContext.xml (cas/WEB-INF)增加参数p:requireSecure="false",是否需要安全验证,即HTTPS,false为不采用。
修改 ticketGrantingTicketCookieGenerator.xml(cas/WEB-INF/spring-configuration/ticketGrantingTicketCookieGenerator.xml) 中ticketGrantingTicketCookieGenerator p:cookieSecure 属性修改为 false。
使用https协议需要生成证书:
有关keytool工具的详细运用见:http://www.micmiu.com/lang/java/keytool-start-guide/
4.1. 生成证书:
ps:
- 截图中需要输入的姓名和上面hosts文件中配置的一致;
- keypass 和 storepass 两个密码要一致,否则下面tomcat 配置https 访问失败;
4.2.导出证书:
4.3.客户端导入证书:
ps:该命令中输入的密码和上面输入的不是同一个密码;如果是多台机器演示,需要在每一台客户端导入该证书。
五、部署CAS-Server相关的Tomcat
5.1. 配置HTTPS
解压apache-tomcat-6.0.29.tar.gz并重命名后的路径为 G:\sso\tomcat-cas,在文件 conf/server.xml文件找到:
修改成如下:
参数说明:
- keystoreFile 就是4.1中创建证书的路径
- keystorePass 就是4.1中创建证书的密码
5.2. 验证HTTPS配置
其他按照默认配置不作修改,双击%TOMCAT_HOME%\bin\startup.bat 启动tomcat-cas 验证https访问配置: