基于CAS+Tomcat配置SSO
一、系统配置
cas server3.1.1
cas client 2.1.1
tomcat5.5
二. Tomcat 配置,启用SSL
a. 在要安装CAS的机器上为Tomcat生成用于SSL通讯的密钥:%JAVA_HOME%/bin/keytool -genkey -alias tomcat -keyalg RSA
这时需要输入密钥密码和其他参数(第一个参数CN必须设置为CAS机器名,本机使用localhost测试),会在系统用户目录中生成.keystore密钥文件。
b. 导出别名为tomcat的密钥文件:%JAVA_HOME%/bin/keytool -export -file /path/server.crt -alias tomcat 这时需要输入上一步设定的密码,结果会在/path/目录生成server.crt信任状。
c. 为客户端的JVM导入密钥::%JAVA_HOME%/bin/keytool -import -keystore $JAVA_HOME/jre/lib/security/cacerts -file /path/server.crt -alias tomcat 注意:输入密码时密码为"changeit",这是默认密码。
d. 修改服务端Tomcat配置文件,启用SSL如下:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="D:\JAVA\Tomcat5.5\tomcat.keystore"
keystorePass="changeit"
truststoreFile="C:/Program Files/Java/jdk1.5.0_04/jre/lib/security/cacerts" />三、CAS Server安装
把cas-server-webapp-3.1.1.war copy到tomcat\webapps下重命名为cas;可能需要修改的cas.properties里的cas server name。
https://localhost:8443/cas/longin
默认的cas server的验证是只要用户名和密码一样就可以登陆。可以通过修改deployerConfigContext.xml里的authenticationHandlers为自己的验证机制,如mysql验证用户,如下
<property name="authenticationHandlers">
<list>
<bean class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"
p:httpClient-ref="httpClient" />
<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
<property name="sql" value="select password from user where username=?" />
<property name="dataSource" ref="dataSource" />
</bean>
</list>
</property>并增加一个mysql dataSource
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" destroy-method="close">
<property name="driverClassName"><value>com.mysql.jdbc.Driver</value></property>
<property name="url"><value>jdbc:mysql://localhost:3306/sso</value></property>
<property name="username"><value>root</value></property>
<property name="password"><value>****</value></property>
</bean>四、CAS CLIENT配置
以servlet-example为例子
在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>client:port</param-value><!--client:port就是需要CAS需要拦截的地址和端口,一般就是Client端的IP和port-->
</init-param>
</filter>
<filter-mapping>
<filter-name>CASFilter</filter-name>
<url-pattern>/servlet/*</url-pattern>
</filter-mapping> 其中edu.yale.its.tp.cas.client.filter.serverName的value为需要CAS需要拦截的地址和端口,一般就是Client端的IP/主机名和port
当输入http://localhost:8080/servlet-exampls/servlet/HelloWorld就会要求跳转到cas login窗口要求身份验证。
至此,SSO配置完成;但会出现下面问题
1:假设有A、B两个应用程式,现在在浏览器窗口1输入对A应用程式的请求,会跳转到cas login窗口身份验证;身份验证完成后跳转会A应用程式请求页面
2:在窗口2输入对B应用程式请求,还会需要身份验证
3:在窗口1修改URL为对B应用程式的请求,不需求身份验证
请看CAS SSO配置下文
分享到:
相关推荐
SSO学习有CAS SSO配置.docSSO学习有CAS SSO配置.doc
CAS学习笔记 --CAS的服务器配置和各种客户端的配置
本文档主要根据自己的实际工作而编写的,部分来源于网络
CAS单点登录的配置文档,CAS单点登录的配置文档
SSO实例安装和配置指南PDF版 CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。
此文档详细说明了CAS服务端及客户端相关配置,以及使用http和https配置。
CAS之SSO配置手册.doc
Liferay5.2.3和CAS配置成SSO
包含cas源码、cas使用说明文档(包含配置信息)、连接数据库所需jar包、cas服务端自定义返回值等
SSO\CAS 单点登录配置手册
文档里面介绍了cas单点登录的主要配置及多个用户信息的配置,在客户端怎么才能获取多样的用户信息。
CAS在Tomcat中实现单点登录项目,单点登录(Single Sign On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。...
压缩包中有详细的cas sso 的配置过程,同时提供所需的全部JAR包!
在做SOA项目或者单点登录SSO的时候,用户目录往往都是通过LDAP来完成的,那么CAS与LDAP整合的问题是必须要做的,这里采用OpenLDAP和CAS来记录一下自己的配置过程
解压缩,根据配置CAS.txt说明进行单点登录配置,实现单点登录
[置顶] SSO单点登录系列3:cas-server端配置认证方式实践(数据源+自定义java类认证) http://blog.csdn.net/ae6623/article/details/8851801 [置顶] SSO单点登录系列2:cas客户端和cas服务端交互原理动画图解,cas...
本课程主要通过CAS来实现SSO,本教程会从最基本的基础知识讲起,由浅入深再到实战,完成多应用的单点登录功能。 本课程内容如下: 1、 什么是SSO和CAS 2、 CAS Server服务端和客户端的搭建和配置 3、 单点登录和单...
CAS(Central Authentication Service)是一款不错的针对 Web 应用的单点登录框架,本文介绍了 CAS 的原理、协议、在 Tomcat 中的配置和使用,对于采用 CAS 实现轻量级单点登录解决方案的入门读者具有一定指导作用。
使用CAS框架实现SSO单点登录,其中包含: 1、CAS服务器端安装包 ...5、CAS+SSO实例安装和配置指南PDF版.rar 6、Tomcat中使用Yale+CAS实现单点登陆(SSO).doc 7、以及本人的搭建过程中所遇到得问题和解决方法
此文档自己亲手从0开始一步一步配置的详尽过程,其中包括keytool创建 、ticket、tomcat配置cas、自定义登录页面,处理服务器返回的乱码,服务退出、cas服务器返回多数据等等文档 包括SSO原理图,以及认证流程图等