:-)
看了这许多关于CAS的文章,是时候开始实践了,从最简单的开始吧!参考收藏夹中的一篇文章在Tomcat上部署CAS系统。由于CAS使用SSL作为Server与Client之间的通讯协议,因此首先要配置Tomcat是其能使用SSL,随后再部署CAS Server,用Servlet-Example作为CAS Client验证SSO的效果。具体步骤如下:
一、配置Tomcat,启用SSL协议。
- 为Tomcat生成用于SSL通讯的密钥:keytool -genkey -alias tomcat -keyalg RSA,输入密钥密码和相应参数,结果是在用户目录中创建了名为.ketstore的密钥文件。
- 导出密钥文件:keytool -export -file server.crt -alias tomcat,输入上一步中的密码,结果在当前目录生成server.crt密钥文件。
- 为JVM导入密钥:keytool -import -keystore %JAVA_HOME%/jre/lib/security/cacerts -file server.crt -alias tomcat,输入密码,将创建cacerts文件。
- 修改Tomcat配置文件server.xml,去掉对于SSL的注释,即开放8443端口,注意这里需要在connector字段中加入keystorePass="password"参数,password即为上面几步中涉及到的密码。
- 启动Tomcat,测试https://localhost:8443/是否是需经过验证方可访问。
二、部署CAS Server 2.0.12到Tomcat
- 一种简单的方法是将下载包中的cas.war文件直接复制到Tomcat的webapps目录下。
- 另一种方法其实一样,只是使用ant编译CAS Server的源代码,直接部署到Tomcat中。我这里使用eclipse对其源代码进行了编译,并部署成功。
- 启动Tomcat,测试https://localhost:8443/cas,是否可访问CAS主页面。
三、部署CAS Client 2.0.11到Servlet-Examples
- 利用Servlet-Examples实例进行测试,将下载包中的casclient.jar文件复制到Servlet-Examples中WEB-INF目录的lib下,这里需要手工建立lib目录。
- 修改Servlet-Examples的配置文件web.xml,加入以下的过滤器:
<!-- CAS Filters -->
<filter>
<filter-name>CASFilter</filter-name>
<filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name>
<param-value>https://localhost:8443/cas/login</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
<param-value>https://localhost:8443/cas/proxyValidate</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
<param-value>localhost:8080</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CASFilter</filter-name>
<url-pattern>/servlet/*</url-pattern>
</filter-mapping>
四、测试
- 启动Tomcat,定位到Servlet-Examples应用,点击Execute;
- 浏览器跳转至CAS登录首页,注意在URL中已经附上了Servlet-Examples的Service名称
- 输入用户名和密码,这里没有对其验证条件做修改,因此只要用户名和密码相同即可通过验证。
- 验证通过后浏览器又重新定位至Servlet-Examples并显示该Servlet的内容。
- 点击Http Header的Servlet应用,可以看到里面对当前用户的用户名信息做了记录。
- 以后访问Servlet-Examples应用都无需再次输入用户名和密码了。
至此,CAS Server和Client已经在Tomcat上成功部署与配置,并达到了预期的SSO效果。
本文档详细介绍了如何在Tomcat上配置SSL以启用CAS服务器,包括生成密钥、导入证书、修改Tomcat配置以及部署CAS Server 2.0.12。此外,还展示了如何在Servlet-Examples中部署CAS Client 2.0.11,通过设置过滤器实现单点登录(SSO)功能。最后,通过测试验证了配置和部署的成功。
2238

被折叠的 条评论
为什么被折叠?



