- 浏览: 153590 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
驭乐MJ:
好!谢谢啦!正在学习使用sean中。。
Seam学习笔记 -
laorer:
00 -现在,互联网造就了一批富翁,但那时,似乎什么都不会去想 ...
如果时光能够回流到八年前 -
liuqizhi0925:
八年前,OMG ,能改变的事情真的很多...
如果时光能够回流到八年前
•相关文档
官方文档:
http://www.ja-sig.org/products/cas/
http://www.ibm.com/developerworks/web/library/wa-singlesign/
http://developer.yahoo.com/auth/
网友学习笔记:
JA-SIG(CAS)学习笔记1 http://linliangyi2007.iteye.com/blog/165307
JA-SIG(CAS)学习笔记2 http://linliangyi2007.iteye.com/blog/165310
JA-SIG(CAS)学习笔记3 http://linliangyi2007.iteye.com/blog/165313
•生成和导入数字证书的步骤:
1. 生成 server keystore
keytool -genkey -alias tomcat -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore
注意:
keystore里面放什么东西呢?
keystore存放着两种数据:密钥(或公私钥对)和信任证书。信任证书中只包含公钥。
你之后会发现keystore文件比导出的证书server.cer大;例如某示例中server.cer是564字节,而keystore文件是1.3KB。
2. (从keystore)导出证书,并导入到jvm的证书机构中
keytool -export -trustcacerts -alias tomcat -file server.cer -keystore server.keystore -storepass changeit
keytool -import -trustcacerts -alias tomcat -file server.cer -keystore %JAVA_HOME%/jre/lib/security/cacerts -storepass changeit
//其他参考指令
//keytool -list -v -keystore %JAVA_HOME%/jre/lib/security/cacerts
//keytool -delete -trustcacerts -alias tomcat -keystore %JAVA_HOME%/jre/lib/security/cacerts -storepass changeit
3. 修改conf\server.xml
<Connector protocol="org.apache.coyote.http11.Http11Protocol"
port="8443" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="server.keystore"
keystorePass="changeit"/>
注意:
keystoreFile属性是指定keystore的文件路径。
truststoreFile属性是指定信任证书的文件路径。
clientAuth属性设置为false表示单向SSL,一般的都是单向SSL。设置为true表示双向SSL。
4. 部署cas.war到tomat的webapps目录下
5. 配置受管的web应用:
1)casclient.jar拷贝到你所发布的webapp的WEB-INF/lib下
2)在web.xml中加入——
<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:4040</param-value>
</init-param>
</filter>
注意:
在第1步骤生成keystore需要指定CN:就是服务器的域名(或者是localhost),不能是IP地址。配置CAS客户端的配置参数中的“edu.yale.its.tp.cas.client.filter.serverName”表示验证完毕将跳转到原来的客户端应用。这里可以填IP,例如192.168.2.9:4040;不过记得不要以http://开头。
•CAS验证中心的定制和开发:
需要实现下面的3个步骤:
1. 自定义AuthHandler
自己实现AuthenticationHandler接口,或者利用用户名/密码的方式进行验证的话可以采用extends AbstractUsernamePasswordAuthenticationHandler
2. 修改配置文件
修改cas\WEB-INF\deployerConfigContext.xml,在<property name="authenticationHandlers">中注释掉之前的bean,加上自己自定义的authenticationHandler
3. 定制身份验证登录界面
需要修改以下页面(在cas\WEB-INF\view\jsp\路径下)——
casConfirmView.jsp —— 确认信息(警告信息)页面
casGenericSuccess.jsp —— 登陆成功提示页面
casLoginView.jsp —— 登录输入页面
casLogoutView.jsp —— SSO登出提示页面
•受管web应用的定制和开发:
选择下面步骤的其中之一:
1. 在session中获取用户名
String username = (String)session.getAttribute(CASFilter.CAS_FILTER_USER);
或者
String username = (String)session.getAttribute("edu.yale.its.tp.cas.client.filter.user");
2.获得更完整的受认证用户信息对象CASReceipt Java Bean,可以使用以下语句的任一:
CASReceipt receipt = (CASReceipt )session.getAttribute(CASFilter.CAS_FILTER_RECEIPT);
或者 CASReceipt receipt = (CASReceipt )session.getAttribute("edu.yale.its.tp.cas.client.filter.receipt");
3.手工编码使用CAS Java Object进行用户验证,使用ServiceTicketValidator或者 ProxyTicketValidator(代理认证模式下),在servlet中对用户身份进行验证。
发表评论
-
Weblogic的update和stop/start的区别
2009-10-28 19:50 2165Weblogic的update和stop/s ... -
Web Service HTTP1.0 and HTTP1.1性能测试报告
2009-10-21 17:55 3092第1章 测试需求分析 1.1 测试目的 w ... -
SOA与业务敏捷
2006-08-30 00:00 810作者:TIBCO中国研发中心 胡长城(银狐999) ... -
RESTful Web Services
2006-08-23 00:00 9511. The Fundamental 1.1 What ... -
SOA学习笔记
2006-07-26 00:00 905SOA是为了解决在Internet ... -
Lucene 基础指南[转]
2006-07-12 00:00 1244Lucene 基础指南 作者:lighter, 江南白衣 ... -
OSGi入门笔记
2006-07-05 00:00 948借助网上的一些资料,对OSGi有了一些了解,将到目前的一些粗浅 ... -
x509数字证书介绍
2006-06-28 00:00 1277一、什么是数字证书 数字证书就是互联网通讯中标志通讯各方身 ... -
SSL协议及其应用
2006-06-21 00:00 2056SSL协议及其应用 ... -
JSR 168与WSRP
2006-06-07 00:00 1550作者:Rachel Greenblatt ... -
JBoss学习笔记
2006-05-31 00:00 1345JBoss架构是由JMX MBean服务器、微内核组成的。 ... -
UDDI笔记
2006-05-24 00:00 1077◆UDDI的目的实际上是想提供一个针对公众网商业用户的在全 ... -
选择Seam的十大理由
2006-05-17 00:00 933一、增加AJAX特征的最快捷方式 在功能上,Ajax改变了W ... -
Seam学习笔记
2006-05-10 00:00 1345FAQ: seam的英文意思是:缝、接合处。seamless ... -
JSF学习笔记
2006-05-03 00:00 2801FAQ: 1. JSF跟Spring如何结合? A ... -
Spring学习笔记
2006-04-26 00:00 1027Spring笔记 0. 背景 Spring F ... -
iBATIS学习笔记
2006-04-19 00:00 13811. iBATIS 关于iBATIS,iBATIS是一个Da ... -
Hibernate's FAQ
2006-04-05 00:00 7751. 关于session 1) 什么时机对session ... -
Hibernate学习笔记
2006-03-29 00:00 930● 相关文档: Hibernate参考文档 v3.0.2 ... -
JMX学习笔记
2006-03-22 00:00 994JMX 笔记 一些JMX的简单入门资料如下: ...
相关推荐
4. **JA-SIG CAS学习笔记**: "JA-SIG(CAS)学习笔记2"和"JA-SIG(CAS)学习笔记3"涵盖了CAS的基本概念、架构和配置,以及如何与Java应用集成。JA-SIG是一个高等教育软件联盟,其文档对于理解CAS的教育背景和应用...
CAS整合LDAP实现单点登录学习笔记 包含所有过程。
本篇学习笔记主要聚焦于CAS服务器的数据源配置,这对于理解CAS如何存储和管理用户认证信息至关重要。在CAS的运行中,数据源作为连接数据库的关键组件,用于存储和检索用户凭证、服务定义等信息。 首先,我们需要...
在学习CAS Client时,我们将重点关注如何配置CAS Filter和`ProxyTicketReceptor`,以及在Java SE环境下使用`ServiceTicketValidator`进行Ticket认证。 【定制身份认证程序】 要将CAS集成到现有的企业应用中,关键...
具体到本次学习笔记中,可以看到提到了如何使用CAS 3.2.1的版本,并且涉及到整合JA-SIG CAS的开发。文档中提到的步骤包括用户从客户端访问服务,服务重定向到CAS服务器的登录界面,用户在CAS服务器登录后获得票据,...
CAS(Central Authentication Service)是基于Java的开源SSO协议实现,由JA-SIG组织开发,旨在简化Web应用的认证流程。 CAS的核心设计愿景是提供一个统一的认证入口点,使得所有应用系统可以通过这个中心服务验证...
BlueCoat CAS管理员手册笔记根据官方文档整理而成,涵盖...需要注意的是,管理员手册笔记是基于CAS *.*.*.*版本整理的,随着版本的更新,系统组件和处理流程可能有所变化,管理员应根据最新版本的文档进行学习和操作。
CAS整合LDAP实现单点登录的原理及部署学习笔记,cas实现单点登录,ldap负责账户管理
这个压缩包文件包含了一系列的学习笔记,可以帮助我们深入了解CAS的工作原理和配置。 首先,让我们从基础概念开始。CAS的核心功能是为用户提供统一的登录验证,用户只需在一个系统中登录,即可访问所有支持CAS的...
CAS操作 CAS是单词compare and set的缩写,意思是指在set之前先比较该值有没有变化,只有在没变的情况下才对其赋值。 我们常常做这样的操作 if(a==b) { a++; } 试想一下如果在做a++之前a的值被...
SDRAM 调试学习笔记 SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存储器)是一种常见的存储器类型,本文将从理论和实践两个方面对 SDRAM 进行深入的解剖和分析。 一、SDRAM 的内部结构 SDRAM ...
本篇笔记主要关注并发编程中的两个关键概念:CAS(Compare and Swap)原子操作和Java线程的深入理解。 首先,我们来详细探讨一下CAS(比较并交换)原子操作。CAS是一种无锁算法,它通过比较内存中的某个值与期望值...