SSO单点登录解决方案

1 什么是单点登陆

单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务 整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

较大的企业内部,一般都有很多的业务支持系统为其提供相应的管理和IT服务。例如 财务系统为财务人员提供财务的管理、计算和报表服务;人事系统为人事部门 提供全公司人员的维护服 务;各种业务系统为公司内部不同的业务提供不同的服务等等。这些系统的目的都是让计算机来 进行复 杂繁琐的计算工作,来替代人力的手 工劳动,提高工作效率和质量。这些不同的系统往往是在不同的时 期建设起来的,运行在不同的平台上;也许是由不同厂商开发,使用了各种不同的技术和标准。如 果举 例说国内一著名的IT公司(名字隐去),内部共有60多个业务系统,这些系统包括两个不同版本的SAP的 ERP系统,12个不同类型和版本的数据库系 统,8个不同类型和版本的操作系统,以及使用了3种不同的 防火墙技术,还有数十种互相不能兼容的协议和标准,你相信吗?不要怀疑,这种情况其实非常普遍。 每一个应用系统在运行了数年以后,都会成为不可替换的企业IT架构的一部分,如下图所示。


随着企业的发展,业务系统的数量在不断的增加,老的系统却不能轻易的替换,这会带来很多的开销 。其一是管理上的开销,需要维护的系统越来越多。很多系统的 数据是相互冗余和重复的,数据的不一 致性会给管理工作带来很大的压力。业务和业务之间的相关性也越来越大,例如公司的计费系统和财务 系统,财务系统和人事 系统之间都不可避免的有着密切的关系。

为了降低管理的消耗,最大限 度的重用已有投资的系统,很多企业都在进行着企业应用集成(EAI)。企业应用集成可以在不同层面上 进行:例如在数据存储层面 上的“数据大集中”,在传输层面上的“通用数据交换平 台”,在应用层面上的“业务流程整合”,和用户界面上的“通用企业门户 ”等等。事实上,还用一个层面 上的集成变得越来越重要,那就是“身份认证”的整 合,也就是“单点登录”。

通常来说,每个单独的系统都会有自己的安全体系和身份 认证系统。整合以前,进入每个系统都需要进行登录,这样的局面不仅给管理上带来了很大的困难,在 安全方面也埋下了重大的隐患。下面是一些著名的调查公司显示的统计数据:

用户每天平均16分 钟花在身份验证任务上 - 资料来源:IDS

频繁的IT用户平均有21个密码 - 资料来源:NTA Monitor Password Survey

49%的人写下了其密码,而67%的人很少改变它们

每79秒出现一 起身份被窃事件 - 资料来源:National Small Business Travel Assoc

全球欺骗损失每年约12B - 资料来源:Comm Fraud Control Assoc

到2007年,身份管理市场将成倍增长至$4.5B - 资料来 源:IDS

使用“单点登录”整合后,只需要登录一次就可以进入多个系统,而不需要 重新登录,这不仅仅带来了更好的用户体验,更重要的是降低了安全的风险和管理的消耗。请看下面的 统计数据:

提高IT效率:对于每1000个受管用户,每用户可节省$70K

帮助台呼叫减少至 少1/3,对于10K员工的公司,每年可以节省每用户$75,或者合计$648K

生产力提高:每个新员工 可节省$1K,每个老员工可节省$350 - 资料来源:Giga

ROI回报:7.5到13个月 - 资料来源: Gartner

另外,使用“单点登录”还是SOA时代的需求之一。在面向服务的架构中,服 务和服务之间,程序和程序之间的通讯大量存在,服务之间的安全认证是SOA应用的难点之一,应此建立 “单点登录”的系统体系能够大大简化SOA的安全问题,提高服务之间的合作效率。

时间: 2024-09-20 05:43:56

SSO单点登录解决方案的相关文章

CAS实现SSO单点登录原理

一.不落俗套的开始 1.背景介绍 单点登录:Single Sign On,简称SSO,SSO使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统. CAS框架:CAS(Central Authentication Service)是实现SSO单点登录的框架. 2.盗一张学习CAS绝大多都看过的图以及执行部分分析 注:已分不清原创,此处就不给出地址了. 从结构上看,CAS包含两个部分:CAS Server 和CAS Client需要独立部署,主要负责对用户的认证工作:CAS C

cas-CAS SSO 单点登录时报错

问题描述 CAS SSO 单点登录时报错 java.lang.RuntimeException: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure org.jasig.cas.client.util.CommonUtils.getResponseFromServer(CommonUtils.java:407) org.jasig.cas.client.validation.AbstractCa

SSO单点登录,AD域,CS

问题描述 各位大神好:请大家介绍一款开源的SSO单点登录系统,要求支持AD域控,支持C/S.,B/S网上看到的casopensso没找到支持AD,c/s的资料. 解决方案 解决方案二:楼主请参考解决方案三:只用过cas--唉,眼界太窄

SSO单点登录系统接入的例子

简单讲一下 SSO 单点登录系统的接入的原理,前提是系统本身有完善的用户认证功能,即基本的用户登录功能,那做起来就很方便了. SSO 登录请求接口往往是接口加上一个回调地址,访问这个地址会跳转到回调地址并带上一个 ticket 参数,拿着这个 ticket 参数再请求接口可以获取到用户信息,如果存在用户则自动登录,不存在就新增用户并登录. 比如这个 SSO 模型实现了两个方法,一个是获取接口 url,一个是凭 ticket 获取用户信息: PHP interface SSOLogin {    

php的sso单点登录实现方法_php技巧

本文实例讲述了php的sso单点登录实现方法.分享给大家供大家参考.具体分析如下: 这里详细讲到了几点: 1.点击登录跳转到SSO登录页面并带上当前应用的callback地址 2.登录成功后生成COOKIE并将COOKIE传给callback地址 3.callback地址接收SSO的COOKIE并设置在当前域下再跳回到应用1即完成登录 4.再在应用程序需要登录的地方嵌入一个iframe用来实时检测登录状态,代码如下: index.php 应用程序页面: 复制代码 代码如下: <?php  hea

SSO单点登录的PHP实现方法(Laravel框架)_php实例

Laravel是一套简洁.优雅的PHP Web开发框架(PHP Web Framework).它可以让你从面条一样杂乱的代码中解脱出来:它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁.富于表达力. 简单说一下我的逻辑,我也不知道我理解sso对不对. 假如三个站点 a.baidu.com b.baidu.com c.baidu.com a.baidu.com 作为验证用户登录账户. b和c作为客户端(子系统). b和c需要登录的时候跳转到a,并且携带参数source指明登陆后跳转的链接

细说SSO单点登录(转)

OAuth2.0:https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-security.html#boot-features-security-oauth2-resource-serverhttp://projects.spring.io/spring-security-oauth/docs/oauth2.html 什么是SSO? 如果你已知道,请略过本节! SSO核心意义就一句话:一处登录,处

SSO单点登录系列2:cas客户端和cas服务端交互原理动画图解,cas协议终极分析

这次的收获是把PPT也深入研究了一番... 上图:一会上原理分析:(本篇不涵盖cas代理认证模式,代理目前还没用到.) 文中所有资料下载地址:在文章中最下方. 1)PPT流程图: 一.用户第一次访问web1应用. ps:上图少画了一条线,那一条线,应该再返回来一条,然后再到server端,画少了一步...谢谢提醒.而且,重定向肯定是从浏览器过去的.我写的不严谨,画的比较通俗了...因该像下面这张图一样就ok了!!PPT自己下载下来修改吧,我就不改了. 二.用户第一次访问web2应用. 困扰了好久

.NET 单点登录解决方案_实用技巧

这里指的单点,泛指在WEB服务端,一个账户同一时刻只能存在一个票据! 大家开发中可能都碰到的一个问题,怎么使同一个用户,在同一时间内只允许登录一次. 很多人都会想到在数据库中用一个标识字段,登录进去置1,退出置0,登录时判断这个字段,如果是1就说明此用户在线,不允许登录,这个方案看似有效,但在实际使用中发现问题很多,比如,用户不是通过程序中的退出按纽退出,而是直接关闭IE,这样的话,下次登录时数据库里此用户还在线呢,这个用户就无法登录,当然也有一些办法可以解决这个问题:增加一个定时作业,定期复位