`
阅读更多

SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。

  SSO技术实现机制

  当用户第一次访问应用系统1的时候,因为还没有登录,会被引导到认证系统中进行登录;根据用户提供的登录信息,认证系统进行身份效验,如果通过效验,应该返回给用户一个认证的凭据--ticket;用户再访问别的应用的时候就会将这个ticket带上,作为自己认证的凭据,应用系统接受到请求之后会把ticket送到认证系统进行效验,检查ticket的合法性。如果通过效验,用户就可以在不用再次登录的情况下访问应用系统2和应用系统3了。

  要实现SSO,需要以下主要的功能:

  1、所有应用系统共享一个身份认证系统。

  统一的认证系统是SSO的前提之一。认证系统的主要功能是将用户的登录信息和用户信息库相比较,对用户进行登录认证;认证成功后,认证系统应该生成统一的认证标志(ticket),返还给用户。另外,认证系统还应该对ticket进行效验,判断其有效性。

  2、所有应用系统能够识别和提取ticket信息

  要实现SSO的功能,让用户只登录一次,就必须让应用系统能够识别已经登录过的用户。应用系统应该能对ticket进行识别和提取,通过与认证系统的通讯,能自动判断当前用户是否登录过,从而完成单点登录的功能。

  另外:

  1、单一的用户信息数据库并不是必须的,有许多系统不能将所有的用户信息都集中存储,应该允许用户信息放置在不同的存储中,如下图所示。事实上,只要统一认证系统,统一ticket的产生和效验,无论用户信息存储在什么地方,都能实现单点登录。

  2、统一的认证系统并不是说只有单个的认证服务器

  认证服务器之间要通过标准的通讯协议,互相交换认证信息,就能完成更高级别的单点登录。如:当用户在访问应用系统1时,由第一个认证服务器进行认证后,得到由此服务器产生的ticket。当他访问应用系统2的时候,认证服务器2能够识别此ticket是由第一个服务器产生的,通过认证服务器之间标准的通讯协议(例如SAML)来交换认证信息,仍然能够完成SSO的功能。

  WEB-SSO的实现

  用户在访问页面1的时候进行了登录,但是客户端的每个请求都是单独的连接,当客户再次访问页面2的时候,如何才能告诉Web服务器,客户刚才已经登录过了呢?浏览器和服务器之间有约定:通过使用cookie技术来维护应用的状态。Cookie是可以被Web服务器设置的字符串,并且可以保存在浏览器中。当浏览器访问了页面1时,web服务器设置了一个cookie,并将这个cookie和页面1一起返回给浏览器,浏览器接到cookie之后,就会保存起来,在它访问页面2的时候会把这个cookie也带上,Web服务器接到请求时也能读出cookie的值,根据cookie值的内容就可以判断和恢复一些用户的信息状态。Web-SSO完全可以利用Cookie结束来完成用户登录信息的保存,将浏览器中的Cookie和上文中的Ticket结合起来,完成SSO的功能。

  为了完成一个简单的SSO的功能,需要两个部分的合作:

  1、统一的身份认证服务。

  2、修改Web应用,使得每个应用都通过这个统一的认证服务来进行身份效验。

分享到:
评论

相关推荐

    spring boot 实现SSO单点登陆

    spring boot整合spring security 实现SSO单点登陆 完整DEMO. ...2、先后启动SsoServer、sso-resource、sso-client1、sso-client2 3、访问http://sso-taobao:8083/client1/ 或 http://sso-tmall:8084/client2/

    Loong SSO(单点登录)开源代码正式发布 rc1.0

    Loong SSO(单点登录)开源代码正式发布 rc1.0 Loong SSO是一款用C 写的 SSO服务端,可以运行在 linux(2.6内核) 和 FreeBSD系统上,使用HTTP协议 进行交互. 这款SSO产品,在运行机制上 吸取了国内门户的 passport一些...

    宁盾单点登录(SSO)与致远A8对接方案.pdf

    宁盾单点登录(SSO)与致远A8对接方案.pdf宁盾单点登录(SSO)与致远A8对接方案.pdf宁盾单点登录(SSO)与致远A8对接方案.pdf宁盾单点登录(SSO)与致远A8对接方案.pdf宁盾单点登录(SSO)与致远A8对接方案.pdf宁盾单点登录...

    统一身份认证系统+sso单点登录服务端及sso客户端源代码

    java+springboot+oauth2 写的统一身份认证系统+sso服务端及客户端程序,包括数据库及操作步骤及如何进行部署操作等,确保大家对统一身份认证有个深刻的认识,数据库已提供,需要大家自己导入到自己的系统中。...

    BOSS项目-SSO接入开发指南.rar

    1.1 SSO 应用接入 SSO 系统提供提供三个主要功能:  操作员单点登录。  应用系统互信认证。  操作员、组织信息的访问和维护功能。 应用接入SSO系统主要可以通过两种方式:Out-Application 及In-Application...

    SSO_单点登陆流程_简要

    SSO系统 1) 用户在单点登录系统输入用户名(社编) 和密码,进行登录; 2) 单点登录校验输入的用户名(社编)和密码,验证不通过,转到错误页面。 3) 如果验证通过,则从映射表中取出该用户所有能访问的应用系统...

    sso单点登录ppt.ppt

    sso单点登录ppt.ppt

    SSO单点登陆解决方案

    一个实现SSO方案的构想SSO单点登陆解决方案

    开源项目“单点登陆SSO”

    SSO开源项目,基于https的,大家可以在网上搜索研究一下!

    PHPCMS V10 修改版 PHPCMS 去掉PHPSSO模块 PHP8 HTML5 JS

    14. 去掉PHPSSO模块、去掉Video及视频库相关、去掉Upgrade在线升级 15. 去除了已被废弃的视频模块和视频模型 16. 修复安装时DNS解析错误提示 17. 手机电脑同时生成Html 18. 安装文件不检查index.html 19. 安装完删除...

    对跨域SSO(单点登录)思路的补充(UML 顺序图)

    注:图中代码段仅作为思路理解 直接copy当然是不可以的喔">关于SSO的思路 csdn和cnblog中都有许多大牛给出了解释 此图是在学习了 韩星 的 基于 Net的单点登录 SSO 解决方案 基础上做的个人总结(顺序图) 小弟初探 ...

    宁盾单点登录(SSO)与SAP对接方案.docx

    宁盾单点登录(SSO)与SAP对接方案.docx宁盾单点登录(SSO)与SAP对接方案.docx宁盾单点登录(SSO)与SAP对接方案.docx宁盾单点登录(SSO)与SAP对接方案.docx宁盾单点登录(SSO)与SAP对接方案.docx宁盾单点登录(SSO)与SAP...

    多域名sso单点登录

    所有应用系统能够识别和提取Token信息要实现SSO的功能,让用户只登录一次,就必须让应用系统能够识别已经登录过的用户。应用系统应该能对Token进行识别和提取,通过与认证系统的通讯,能自动判断当前用户是否登录过...

    Java进阶SSO单点登录技术CAS-快速上手与原理探究视频教程

    本课程主要通过CAS来实现SSO,本教程会从最基本的基础知识讲起,由浅入深再到实战,完成多应用的单点登录功能。 本课程内容如下: 1、 什么是SSO和CAS 2、 CAS Server服务端和客户端的搭建和配置 3、 单点登录和单...

    SSO的简单实现SSO的简单实现

    SSO的简单实现SSO的简单实现SSO的简单实现

    SSO跨域单点登录Demo

    自己写的一个SSO跨域单点登录Demo,直接使用Eclipse导入即可使用,压缩包中附有自己总结的详细的使用说明和跨域登录原理讲解,感兴趣的朋友可以看一下。

    最新新浪微博SSO授权认证SDK源码修改,另附API调用demo

    所谓SSO认证,通俗的一点讲就是,自己写的app需要使用新浪或腾讯微进行分享、发表微博等操作。如果用户的手机客户端安装了符合SSO认证的新浪、腾讯等微博客户端版本且已登录,则会自动启动新浪、腾讯等微博客户端...

    Siemens西门子PLM软件Teamcenter单点登录配手册(SSO方式,LDAP集成配置)

    西门子PLM软件Teamcenter系统的单点登录SSO(LDAP集成配置方式)设置文档,可以适合Teamcenter8-14版本的验证,可以很好的按部就班的验证部署,当然,具体安装环境不同,可能会有差异,但是参考性还是很强的,PLM在...

    编写你自己的单点登录(SSO)服务

    从技术本身的角度分析了单点登录技术的内部机制和实现手段,并且给出Web-SSO和桌面SSO的实现、源代码和详细讲解;还从安全和性能的角度对现有的实现技术进行进一步分析,指出相应的风险和需要改进的方面。本文除了从...

    PHP 使用TP5.0 实现SSO单点登录

    因为公司要实现SSO单点登录的效果,最近在网上找了一些资料,但是都没有好用的, 所以自己用PHP 使用TP5.0 实现了SSO单点登录,可以跨多个域名。 下载后在本地配置好 A,B,C 3个网站,就可以模拟效果了。

Global site tag (gtag.js) - Google Analytics