`
Eric_liu
  • 浏览: 89631 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

pro liferay portal4.2.1中tomcat5.5.17配置apr+(sso+cas)会发生冲突

阅读更多

冲突的原因没有找到, 估计是因我的机器上没有安装Apache 2.0 Web服务器,cas不能定位到web容器,改天看一下cas的源码,分析一下是什么问题。

引用:

CAS背景介绍

CAS(Central Authentication Service),是耶鲁大学开发的单点登录系统(SSO,single sign-on),应用广泛,具有独立于平台的,易于理解,支持代理功能。CAS系统在各个大学如耶鲁大学、加州大学、剑桥大学、香港科技大学等得到应用。

Spring Framework的Acegi安全系统支持CAS,并提供了易于使用的方案。Acegi 安全系统,是一个用于Spring Framework的安全框架,能够和目前流行的Web容器无缝集成。它使用了Spring的方式提供了安全和认证安全服务,包括使用Bean Context,拦截器和面向接口的编程方式。因此,Acegi安全系统能够轻松地适用于复杂的安全需求。 Acegi安全系统在国内外得到了广泛的应用,有着良好的社区环境。

CAS的设计目标

(1)为多个Web应用提供单点登录基础设施,同时可以为非Web应用但拥有Web前端的功能服务提供单点登录的功能;

(2)简化应用认证用户身份的流程;

(3)将用户身份认证集中于单一的Web应用,让用户简化他们的密码管理,从而提高安全性;而且,当应用需要修改身份验证的业务逻辑时,不需要到处修改代码。

CAS的实现原理


CAS(Central Authentication Server)被设计成一个独立的Web应用。实现原理非常简单,CAS Server2.0.12的实现只有30个类,除了JDK本身外,只使用到一个 servlet.jar包。它目前的实现是运行在HTTPS服务器的几个Java Servlet上(而客户端可以灵活采用http和https的方式)。通过CAS2.0.12认证的序列图如下图(因图片显示问题,暂时去除)。


CAS在应用中的运行硬件环境 University of Delaware: Sun Fire 280R/ 2x750 MHz/ 4 GB memory/ 550.3 GB disk storage University of Hawaii: a single Sun Netra X1 (UltraSPARC-IIe 500MHz) with 1.0GB RAM dedicated to running CAS. 2. CAS2.0.12中关于ticket的生成


CAS创建一个位数很长的随机数(ticket)。CAS把这个ticket和成功登录的用户以及用户要访问的service联系起来。例如,如果用户peon重定向自service S,CAS创建ticket T,这个ticket T允许peon访问service S。这个ticket是个一次性的凭证;它仅仅用于peon和仅仅用于service S,并且只能使用一次,使用之后马上会过期,即ticket通过验证,CAS立即删除该ticket,使它以后不能再使用。这样可以保证其安全性。

关于ST,在取一个ST时,即使用deleteTicket(ticketId)同时将一次性的ST删除;而对于TGT或PT,则通过resetTimer(ticketId)以更新TGT或PT的时间。在CAS服务端返回的ST中只能得出用户名。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics