耶鲁大学开发的单点登录系统称为CAS(Central Authentication Server)被设计成一个独立的Web应用程序(cas.war)。它目前用几个Java Servlet作为实现并且通过一个Https服务器来运行。要使用单点登陆功能的Web应用作为CAS的一个客户端来运行。
由于CAS使用Https协议,所以首先要知道如何在容器中配置SSL。Weblogic的SSL配置相对其它的容器较为复杂,但SSL配置完成后CAS服务器一般都能正常运行了。
CAS的客户端以一个Web应用的Filter运行。当Web应用的某个功能被请求时,Filter就会拦截应用的URL,从而迫使用户到CAS服务器进行登陆。在所有不同的Web应用中,使用同一个CAS服务器进行登陆,即可达到单点登陆之目的。
本文使用Weblogic(版本Weblogic8.1)配置CAS服务器,使用Tomcat(版本Tomcat5.0.30)配置CAS客户端,分别在7002端口及8080端口。下面是在Weblogic中使用Yale CAS实现单点登陆的详细步骤:
1. 安装CAS服务器
1.1. 下载CAS发行包,下载地址:
CAS服务器:http://www.yale.edu/tp/cas/cas-server-2.0.12.zip 或
https://clearinghouse.ja-sig.org/wiki/download/attachments/924/cas-server-2.0.12.zip
CAS客户端:http://www.yale.edu/tp/cas/cas-client-2.0.11.zip 或
https://clearinghouse.ja-sig.org/wiki/download/attachments/827/cas-client-2.0.11.zip
1.2. 将cas-server-2.0.12.zip解压,并将lib/cas.war拷贝到%bea%\user_projects\domains\mydomain\applications下,测试CAS服务器是否发布正常,可以访问http://localhost:7001/cas/login 出现登陆窗口。输入用户名密码(用户名=密码),出现登陆成功页面说明发布正常。若不能访问可以手工发布再试。
2. 配置Weblogic使用https协议
2.1. Server证书申请
不管是tomcat或weblogic,在配置ssl之前,必须获取证书签发机构对你的server签发的认证证书,步骤如下:
2.1.1. 本地生成证书请求CRS,文件名为serverReq -à
a)keytool -genkey -keystore .\serverstore -keyalg RSA -keysize 512 -validity 3650 -alias server (生成默认秘锁库,密锁长度为512主要是因为weblogic对密锁强度有出口限制)
根据提示回答,注意在一开始问“你的名字”或“DName”的时候,必须填写你服务器所在域名;注意记住密锁库密码和私锁密码
b)keytool -certreq -keystore .\serverstore -alias server -file .\serverReq
2.1.2. 从CA机构获取server证书:
a)打开步骤1中生成的serverReq文件,复制其内容
b)打开https://testca.netca.net/apply_srv/srv_root.asp网站,
先点“安装证书联”,提示下载serverRoot.p7b格式根证书文件
保存后,点“继续“,进入证书申请界面,填写相关信息,并把步骤a 中复制的内容粘贴到最后一栏,特别提醒的是正确“请输入使用该证书的机器的域名”一栏,必须和生成CRS时填写的名字一样。之后,系统会生成你的server证书,并根据提示下载证书保存到本地,文件为:server
2.1.3. 导出p7b格式根证书链。
双击下载后的serverRoot.p7b文件,依次打开:
点导出
分别导出的文件名为root.cer,ca.cer
这样你就有了完整的证书链:root.cer , ca.cer , server.cer
一个密锁库文件:serverstore ,密锁库密码是:*******, 私锁是:**********(千万记好了,后面需要用到)
2.1.4. 导入证书链到密锁库serverstore
a)导入root证书
keytool -import -trustcacerts -keystore serverstore -alias root -file .\root.cer
a)导入ca证书
keytool -import -trustcacerts -keystore serverstore -alias ca -file .\ca.cer
a)导入server证书
keytool -import -keystore serverstore -alias server -file .\server.cer
这样,你的密锁库中就保存了ca的根证书和你的server证书。:)
2.1.5. 导入证书到Weblogic使用的JDK密锁库cacerts中
a)导入root证书
keytool -import -trustcacerts -keystore $JAVA_HOME/jre/lib/security/cacerts -alias root -file .\root.cer
a)导入ca证书
keytool -import -trustcacerts -keystore $JAVA_HOME/jre/lib/security/cacerts -alias ca -file .\ca.cer
a)导入server证书
keytool -import -keystore $JAVA_HOME/jre/lib/security/cacerts -alias server -file .\server.cer
注意:密锁库cacerts的初始密码为changeit
2.2. weblogic配置ssl
2.2.1. 配置ssl
打开weblogic控制台,选如图页:keystores & ssl

点chage,然后选custom identity and standard trust,进入keystore配置页:
<!--Element not supported - Type: 9 Name: #document-->
Custom identity key store file name:密锁库所在路径全名
Custom identity key store pass phrase:填写打开密锁库的密码(在步骤一中生成密锁库的密码,忘了吧?)
…………..
Java standar trust key store pass phrase: 填写打开密锁库的密码(同上)
填完后,点continue,进入信任证书别名填写:
Private key alias :填写server证书别名:server(请参考步骤一中第4步)
Passphrase:别名对应私锁的密码
然后continu,finish.
2.2.2. 使ssl生效
打开general页,把ssl listen port enabled勾上,并填写ssl监听端口:443
保存后,重启weblogic.
注意,1)如果系统是linux,且ssl端口小于443,必须用root权限帐号启动.
2)如果端口小于1024,必须修改安全文件,放开443端口的操作权限。
最后启动weblogic(linux画面)

Ok,成功。
启动后,打开浏览器,输入:
https://域名/应用 如果浏览起没有安装前面的3个证书,会提示需要安装,否则,可以正常浏览,ok。
3. 配置 CAS客户端
以Tomcat中自带的Servlet examples应用为例,在Web应用中使用配置CAS客户端。
3.1. 在Servlet examples应用里配置CAS客户端,需修改servlets-examples/WEB-INF/web.xml,在web.xml文件中,加入如下Filter配置:
<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:7002/cas/login</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
<param-value>https://localhost:7002/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>s
</filter-mapping>
其中,第一,二个localhost都改成CAS服务器域名或主机名(与Server证书中域名相同),第三个改成你servelt example应用域名或主机名。
3.2. 将cas-client-2.0.11.zip解压,把java/lib/casclient.jar拷贝到Tomcat的
webapps/servlets-examples/WEB-INF/lib目录下(如果没有就建一个)
3.3. 在客户端的JVM 里导入信任的SERVER的证书,输入keystore密码时,注意现在的keystore为cacerts,而cacerts的初密码为 changeit,而不是前面keystore-file的密码,所以要是没有改过cacerts密码应该输入changeit.
a)导入root证书
keytool -import -trustcacerts -keystore $JAVA_HOME/jre/lib/security/cacerts -alias root -file .\root.cer
a)导入ca证书
keytool -import -trustcacerts -keystore $JAVA_HOME/jre/lib/security/cacerts -alias ca -file .\ca.cer
a)导入server证书
keytool -import -keystore $JAVA_HOME/jre/lib/security/cacerts -alias server -file .\server.cer
其中,$JAVA_HOME改成JDK的绝对路径。
4. 测试SSO
分享到:
相关推荐
Weblogic 使用 YALE CAS 实现 SSO 单点登录的方法 一、Yale CAS 简介 Yale CAS 是耶鲁大学开发的一种开源的单点登录(SSO)解决方案,提供了一个通用的身份验证框架,允许用户使用单个身份验证来访问多个应用程序。...
Yale Central Authentication Service (CAS) 是一个开源的身份验证框架,由耶鲁大学开发,主要用于实现单点登录(Single Sign-On, SSO)。SSO允许用户在一个系统上登录后,无需再次认证即可访问其他多个相互信任的...
CAS单点登录系统可以减少用户在不同系统中登录耗费的时间,减少用户登录出错的可能性,提高工作效率。 五、CAS单点登录系统的发展 CAS单点登录系统的发展非常迅速。从公司第一个版本的单点登录系统到现在的几百个...
单点登录(SSO)技术允许用户在多系统环境中仅需一次登录即可访问所有授权的应用程序和服务,极大地提高了用户体验和安全性。WebLogic Server作为一款高性能的企业级Java应用服务器,提供了丰富的功能支持,包括SSO...
CAS单点登录是Single Sign-On(SSO)的一种实现,允许用户一次性进行认证之后,就访问系统中不同的应用;而不需要访问每个应用时,都重新输入密码。CAS单点登录产品具有很多优点,如减少用户在不同系统中登录耗费的...
CAS(Central Authentication Service)是 Yale 大学开发的一个开源的单点登录协议,它提供了一种安全、灵活的方式来实现跨域的身份验证。CAS协议基于HTTP和HTTPS,确保了通信过程的安全性。 CAS安全性主要体现在其...
【Liferay 门户集成CAS实现单点登录与应用系统集成】是将开源门户平台Liferay与中央认证服务(CAS)相结合,以实现用户在多个应用系统间的统一登录体验。Liferay是一个基于Java的企业级门户解决方案,它具备强大的...
本文将详细介绍Weblogic下的CAS配置部署,实现单点登录。客户端配置是关键的一步,需要正确地配置证书信任库。 一、IDS采用的HTTPS(SSL)第三方系统中间件证书信任添加解决方案 在WebServer中间件列表中,Tomcat...
* 客户关系管理系统:客户关系管理系统可以使用单点登录来实现统一的用户认证和权限管理,提高工作效率和安全性。 单点登录是一种非常有用的技术,可以提高企业信息化的效率和安全性。CAS单点登录系统是目前最好的...
介绍weblogic下部署单点登录,生成证书,weblogic配置证书
单点登录(Single Sign-On,简称SSO)是一种身份验证技术,它允许用户在通过一次登录验证后,无须再次输入凭证即可访问多个相互关联的应用系统。这一技术大大提升了用户体验,减少了用户记忆和输入多个密码的负担,...
在这个场景中,开发者或运维人员可能遇到了在WebLogic服务器上部署使用JBOSS CACHE作为CAS集群缓存机制时遇到的技术挑战。WebLogic是Oracle公司的一款企业级Java应用服务器,与JBOSS的环境配置和管理机制有所不同,...
单点登录(Single Sign-On,简称SSO)是一种常见的身份验证方式,它允许用户在多个应用系统中只需要登录一次即可访问所有相互信任的应用系统。这种机制极大地提升了用户体验并简化了身份管理。本文将详细介绍几种...
Java单点登录(Single Sign-On, SSO)的实现是一个复杂但重要的任务,尤其是在大型企业或组织中,它能够提供用户友好的访问体验,减少多次输入凭证的繁琐过程。SSO技术的应用通常涉及到多系统间的身份验证整合,使得...
可以配置角色、权限,设置SSL(Secure Sockets Layer)和TLS(Transport Layer Security)以保护通信安全,还可以实现单点登录(SSO)和企业目录集成。 七、性能优化 WebLogic的性能优化包括内存调优、线程池配置、...
在WebLogic中,通常使用内置的WebLogic JNDI数据源(如WebLogic JDBC Service)来管理数据库连接。我们需要将数据源的JDBC驱动替换为P6Spy的代理驱动。 - 打开WebLogic管理控制台,找到对应的数据源配置。 - 修改`...
- 在配置工具中选择 Basic Weblogic Server Domain 作为基础模板,这是最常用的配置选项之一。 3. **选择 Express 方式:** - Express 方式是一种快速配置模式,适用于大多数情况,能够帮助快速搭建起基本的 ...
单点登录(Single Sign-On,简称SSO)是一种网络身份验证机制,允许用户在一个系统上登录后,无需再次输入凭证即可访问多个相互关联的系统。在门户项目中,实现SSO能够提供无缝的用户体验,提高工作效率,同时降低...