- 浏览: 96967 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
zhuce_4521:
谢谢分享!
Spring数据库事务 -
xh584990686:
感谢分享 经典~~~~~
CAS单点登录系列(5)-简单实施SSO之二 -
huze104:
1,memcached是什么?memcached服务器和客户端 ...
Memcached Linux安装部署 -
huze104:
DataImportHandler 最大的优点是基本不用写代码 ...
Solr 3.5 入门配置应用 -
yangpeihai:
谢谢分享,受益匪浅,不过上面到xml代码怎么都是重复的!
CAS单点登录系列(3)-简单实施SSO
SSO(Single Sign-On,单点登录)是身份管理中的一部分。SSO的一种较为通俗的定义是:SSO是指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应用中的安全验证后,再访问其他应用中的受保护资源时,不再需要重新登录验证。
SSO与身份管理软件背景
目前的企业应用环境中,往往有很多的应用系统,如办公自动化(OA)系统,财务管理系统,档案管理系统,信息查询系统等等。这些应用系统服务于企业的信息化建设,为企业带来了很好的效益。但是,用户在使用这些应用系统时,并不方便。用户每次使用系统,都必须输入用户名称和用户密码,进行身份验证;而且,应用系统不同,用户账号就不同,用户必须同时牢记多套用户名称和用户密码。特别是对于应用系统数目较多,用户数目也很多的企业,这个问题尤为突出。问题的原因并不是系统开发出现失误,而是缺少整体规划,缺乏统一的用户登录平台。
使用SSO技术可以解决以上这些问题,SSO是身份管理中的一部分,关于安全与身份管理软件市场,可参考:http://www.blogjava.net/ablix/archive/2005/12/28/25804.html
使用SSO 的好处
使用SSO的好处主要有:
(1)方便用户
用户使用应用系统时,能够一次登录,多次使用。用户不再需要每次输入用户名称和用户密码,也不需要牢记多套用户名称和用户密码。单点登录平台能够改善用户使用应用系统的体验。
(2)方便管理员
系统管理员只需要维护一套统一的用户账号,方便、简单。相比之下,系统管理员以前需要管理很多套的用户账号。每一个应用系统就有一套用户账号,不仅给管理上带来不方便,而且,也容易出现管理漏洞。
(3)简化应用系统开发
开发新的应用系统时,可以直接使用单点登录平台的用户认证服务,简化开发流程。单点登录平台通过提供统一的认证平台,实现单点登录。因此,应用系统并不需要开发用户认证程序。
二、
实现SSO的技术主要有:
(1)基于cookies实现,需要注意如下几点:如果是基于两个域名之间传递sessionid的方法可能在windows中成立,在unix&linux中可能会出现问题;可以基于数据库实现;在安全性方面可能会作更多的考虑。另外,关于跨域问题,虽然cookies本身不跨域,但可以利用它实现跨域的SSO。
(2)Broker-based(基于经纪人),例如Kerberos等;
这种技术的特点就是,有一个集中的认证和用户帐号管理的服务器。经纪人给被用于进一步请求的电子的身份存取。中央数据库的使用减少了管理的代价,并为认证提供一个公共和独立的"第三方"。例如Kerberos、Sesame、IBM KryptoKnight(凭证库思想)等。
(3)Agent-based(基于代理人)
在这种解决方案中,有一个自动地为不同的应用程序认证用户身份的代理程序。这个代理程序需要设计有不同的功能。比如, 它可以使用口令表或加密密钥来自动地将认证的负担从用户移开。代理人被放在服务器上面,在服务器的认证系统和客户端认证方法之间充当一个"翻译"。例如SSH等。
(4)Token-based,例如SecurID、WebID、
现在被广泛使用的口令认证,比如FTP,邮件服务器的登录认证,这是一种简单易用的方式,实现一个口令在多种应用当中使用。
(5)基于网关
Agent and Broker-based,这里不作介绍。
(6)基于安全断言标记语言(SAML)实现,SAML(Security Assertion Markup Language,安全断言标记语言)的出现大大简化了SSO,并被OASIS批准为SSO的执行标准。开源组织OpenSAML 实现了 SAML 规范,可参考http://www.opensaml.org。
三、
SUN SSO技术
SUN SSO技术是Sun Java System Access Manager产品中的一个组成部分。
Sun 的新身份管理产品包括Sun Java System Identity Manager、Sun Java System Directory Server Enterprise Edition 和 Sun Java System Access Manager,以上三者为Sun Java Identity Management Suite (身份识别管理套件)的组成部分,它们与Sun Java Application Platform Suite、Sun Java Availability Suite、Sun Java Communications Suite、Sun Java Web Infrastructure Suite组成Java ES。具有革新意义的这一系列产品提供端到端身份管理,同时可与 60 多种第三方资源和技术实现互操作,集成产品可以从SUN公司网站下载,一般以Agent软件方式提供,是业内集成程序最高、最为开放的身份管理解决方案之一。
在Sun 的新身份管理产品中,Sun Java System Access Manager是基中的一个重要组成部分,Java Access Manager基于J2EE架构,采用标准的API,可扩展性强,具有高可靠性和高可用性,应用是部署在Servlets容器中的,支持分布式,容易部署且有较低的TCO。通过使用集中验证点、其于角色的访问控制以及 SSO,Sun Java System Access Manager 为所有基于 Web 的应用程序提供了一个可伸缩的安全模型。它简化了信息交换和交易,同时能保护隐私及重要身份信息的安全。
四、
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 Server
CAS 在应用中的运行硬件环境
University of
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中只能得出用户名。
另外,CAS3.0版本也已经发布了,现在最新的版本是3.03,希望CAS3.0在向下兼容的同时,更能向我们提供一些新东西。
SUN SSO 实现原理
SSO的核心在于统一用户认证,登录、认证请求通过IDENTITY SERVER服务器完成,然后分发到相应应用。
SUN SSO是java Access Manager的一个组成部分,SSO基于Cookie实现解释如下:
(1)Policy Agent on Web or Application Server intercepts resource requests and enforces access control;
(2)Client is issued SSO token containing information for session Validation with Session service.
(3)SSO token has no content- just a long random string used as a handle.
(4)Web-based applications use browser session cookies or URL rewriting to issue SSO token.
(5)Non Web applications use the SSO API(Java/c) to obtain the SSO token to validate the users identity.
SUN SSO 的应用
这里说的应用是指Sun Java System Access Manager的应用。成功应用例子很多,包括德国电信等公司的应用,国内也有大量高校在使用,也有相当多的其它行业的应用。
SUN SSO的开源
Sun 将发布其网络验证与网络单点登录技术,给一项新的开放源代码计划“Open Web Single Sign-On”(Open SSO)。OpenSSO网站位于:https://opensso.dev.java.net/。该网站对OpenSSO的概述为:This project is based on the code base of Sun Java(tm) System Access Manager Product, a core identity infrastructure product offered by Sun Microsystems.
OpenSSO 计划的第一部份源代码,将于今年年底完成,基本的版本将于明年3月份发布,而完整的版本可能要等到明年五月份。Sun 采用与Solaris 操作系统相同的共同开发暨流通授权(Common Development and Distribution License)方式。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/HuDon/archive/2007/02/09/1506058.aspx
发表评论
-
CAS单点登录系列(5)-简单实施SSO之二
2010-10-22 15:47 2010在本系列文章的第3篇中,讲解了使用CAS实施单点登录 ... -
CAS单点登录系列(4)-使用RDBMS认证
2010-10-22 15:46 996在实际应用中,用户认证信息一般会存放在RDBMS或LDA ... -
CAS单点登录系列(3)-简单实施SSO
2010-10-22 15:04 1629默认时,为了启用Web SSO,开发者必须开启HTTPS ... -
CAS单点登录系列(2)-初步认识CAS
2010-10-22 15:02 12471.CAS介绍 CAS(Central Authenti ... -
CAS单点登录系列(1)-基础知识
2010-10-22 14:59 12261.单点登录 1.1.概述 ... -
cas 单点登录配置速成
2010-06-22 21:51 1619原理描述 子系统所有请求被CAS过滤器拦截(web.xml中定 ... -
Acegi安全系统详解
2010-06-22 17:56 803Acegi是Spring Framework 下最 ... -
应用J2EE构建项目登录方式的改进设计与实现
2010-06-22 17:52 670j2ee是当前建立和开发各 ... -
单点登陆系统SSO原理
2010-06-22 17:50 726本文以某新闻单位多媒体数据库系统为例,提出建立企业用户认证中心 ... -
浅谈Acegi配置
2010-06-22 17:49 646Acegi是基于Spring的一个开源的安全认证框架,现在的 ... -
CAS logout问题释疑
2010-06-22 17:48 1026CAS Logout是一个非常费解的问题,广州UG版,网友不停 ... -
acegi 作为 yale cas认证服务器的客户端在springside项目中的应用
2010-06-22 17:47 843First, Set SpringSide's web.xm ... -
部署cas服务器实现定制JDBC验证
2010-06-22 17:22 9671 安装 1.1系统配置 以下的软件环境是必需的: 1. ... -
yale cas 配置
2010-06-22 17:20 967在配置YALE 的CAS里面,走 ... -
Yale cas安装
2010-06-22 16:59 735看了网上很多CAS安装的 ... -
CAS安全性介绍
2010-06-22 16:57 774CAS 的安全性是一个非常重要的 Topic 。 CAS 从 ... -
Yale CAS实现原理及其基础协议
2010-06-22 16:40 931CAS(Central Authentication Serv ...
相关推荐
课程简介 本课程主要通过CAS来实现SSO,本教程会从最基本的基础知识讲起,由浅入深再到实战,完成多应用的单点登录功能。 本课程内容如下: 1、 什么是SSO和CAS 2、 CAS Server服务端和客户端的搭建和配置 3、 单...
3 CAS单点登录简介(针对实践选择的技术) 5 3.1 技术快速使用说明 5 3.1.1 设置服务器域名 5 3.1.2 生成证书(这里采用JDK自带的工具keytool) 5 3.1.3 为客户端JVM导入证书 6 3.1.4 将证书应用到Web服务器Tomcat 7...
1.1框架简介 Hihsoft业务基础平台目标定位有两个: 一是通过持续提供丰富的可复用组件和图形化开发方式,降低应用开发人员对技术细节的依赖,提高项目的开发效率; 二是通过业务基础平台拥有良好地编程规范和统一的...
简介 安全是所有Web项目在设计时都要考虑的一个重要因素。无论是选择最短口令,决定何时使用SSL加密HTTP会话,还是通过自动登录cookie来识别用户,都经常要付出重大的设计努力,以保护用户的身份信息和他们可能...
### 技术简介 本项目采用SpringBoot作为框架。 * 数据持久层使用SpringBoot自带的Hibernate来维护PO(Persistent Object持久化对象),这里使用Hibernate的原因在于其三种对象状态(持久态、游离态、分割态)便于...
JEECMS简介 JEECMS是JavaEE版网站管理系统(Java Enterprise Edition Content Manage System)的简称。 · 基于java技术开发,继承其强大、稳定、安全、高效、跨平台等多方面的优点 · 采用hibernate3 spring mvc...
1、SSO简介 60 2、利用OFBiz建立简单有效的SSO机制 60 4、备注 62 第六部分、安全控制 62 一、认证 62 1、实体 63 2、应用 63 二、权限 63 1、权限的定义方法 63 2、权限的访问 64 三、CA认证 64 第七部分、会员管理...
1.1框架简介 Hihsoft业务基础平台目标定位有两个: 一是通过持续提供丰富的可替代组件和图形化开发方式,降低应用开发人员对技术细节的依赖,提高项目的开发效率; 二是通过业务基础平台拥有良好的地编程规范和统一...
### 技术简介 本项目采用SpringBoot作为框架。 * 数据持久层使用SpringBoot自带的Hibernate来维护PO(Persistent Object持久化对象),这里使用Hibernate的原因在于其三种对象状态(持久态、游离态、分割态)便于...
baigo CMS采用互联网上使用最为广泛的Smarty模板技术,使用任何一款可视化网页制作工具便可轻松设计出baigo CMS支持的模板,无需学习复杂的语言。 伪静态伪模式 baigo CMS支持传统的动态页面模式、伪静态模式(需...
源码简介与安装说明: MaxKey(马克思的钥匙)用户单点登录认证系统(Sigle Sign On System),寓意是最大钥匙,是业界领先的企业级IAM身份管理和身份认证产品,支持OAuth 2.0/OpenID Connect、SAML 2.0、JWT、CAS等标准...
随着技术的发展,越来越多的大学、公司以及政府机构都通过网络对外提供资源、服务,并且彼此协作日益紧密、信息共享日益频繁。例如,大学之间的“跨校选课”、“共享图书资源”等。因此简化这些业务中身份认证的流程...
简介 基于 SpringBoot2、JWT和Shiro实现的前后端分离开发框架,接口遵循RESTful风格,文档使用swagger。 在线演示 账号:admin 密码:123456 项目源码 后端源码 前端源码 github 码云 特性 使用MyBatis-Plus作为...
项目简介 开发环境 * 操作系统:Windows 10 * 开发工具:Intellij IDEA * 数据库:MySQL 5.7.22 * Java SDK:Oracle JDK 1.8.0_131 部署环境 * 操作系统:Linux centos7 x64 * 虚拟化技术:VMware + Docker ...
项目简介 代码拥有详细注释 无复杂逻辑 核心使用 SpringBoot 2.1.4.RELEASE JWT / 基于Redis单点登录Token交互 任意切换 JPA + Mybatis-Plus 任意切换 操作日志记录方式任意切换Mysql或Elasticseach记录 极简代码...
第1章 SharePoint产品和技术简介 3 1.1 探索Microsoft Office SharePoint Server 2007 3 1.2 比较Microsoft SharePoint Portal Server 2003和MOSS 2007 5 1.3 在MOSS和WSS之间选择 6 1.3.1 MOSS和WSS对比 6 1.3.2 ...
一、项目简介 一款企业信息化开发基础平台,拟集成OA(办公自动化)、SCM(供应链系统)、ERP(企业资源管理系统)、CMS(内容管理系统)、CRM(客户关系管理系统)等企业系统的通用业务功能 JeePlatform项目是一款以Spring ...
第二章 MISC平台简介.......3 1 关于MISC..........3 2 Monternet与MISC...........3 3 关于梦网服务.....3 第三章 MISCWAP业务流程及计费原则...5 1 WAP服务业务接入接口..5 1.1 业务接入流程........5 1.2 ...
《.NET深入体验与实战精要》作者身为从事.NET一线开发的资深开发专家,常年耕耘技术博客,惠及无数.NET新知。此次将长期的思考、感悟,多年的系统开发、设计和团队管理经验,以及深入分析众多项目实战的宝贵成果...
《.NET深入体验与实战精要》作者身为从事.NET一线开发的资深开发专家,常年耕耘技术博客,惠及无数.NET新知。此次将长期的思考、感悟,多年的系统开发、设计和团队管理经验,以及深入分析众多项目实战的宝贵成果...