SSO(Single Sign On)系列(一)--SSO简介

原创 2015年07月09日 09:24:18

        不论什么类型的网站,到达一定规模之后一定会存在这样的问题:比如我们有N个系统,传统方式下我们就需要有N对不同的用户名和密码,本来这些系统的开发都能为我们带来良好的效益,用户在用的时候并不方便,每次都需要输入不同的用户名和密码进行身份验证。特别是应用系统较多,用户数目也很多的企业这个问题尤为突出。问题的出现并不是因为我们系统开发出现问题,而是缺少一个同一的用户管理平台。

 

         SSO很好地解决了上面的问题,通过访问应用,登录后就可以访问其他系统或者应用。即多应用系统中,用户只需登录一次即可访问所有相互信任的应用系统。它包括可以将这次的登录映射到其他应用中用于同一用户的登录机制。

       

       SSO是目前比较流行的企业业务整合的解决方案之一。

 

SSO术语

TGTTicket Granting Ticket,用户身份认证票据

STService Ticket,服务许可凭证票据

TGCTicket Granting Cookie ,存放用户身份认证凭证票据的cookie

 

SSO体系中,有三种角色:

1、多个User

2、多个Web应用

3、一个SSO认证中心

     所有登录都在SSO认证中心进行。

     SSO认证中心通过一些方法来告诉Web应用当前访问用户究竟是不是通过认证的用户。

     SSO认证中心和所有的Web应用建立一种信任关系。

 

SSO好处

1、方便用户

         用户只需要一次登录,多次访问。用户体验度好,一对账号密码即可访问多个web应用,而且感觉不到单点登录的过程

2、方便管理员

        管理员只需要管理一套数据,方便管理,避免了管理漏洞

3、简化应用系统开发

        开发新的应用时,单点登录做用户认证即可,简化了开发流程。单点登录通过提供统一地认证平台,实现单点登录。因此,应用系统不需要开发用户认证程序。

 

总结

         SSO的优势:提供了一个即插即用的SSO解决方案,对应用系统的改造非常小,甚至让用户感觉不到使用了单点登录组件,只需要进行简单的配置即可拥有SSO的功能。因此SSO的灵活性强,可扩展性好,对应用系统的侵入性小。

      下篇继续SSO的五种访问流程。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Nginx初探

一、 概念Nginx——Ngine X,是一款自由的、开源的、高性能HTTP服务器和反向代理服务器;也是一个IMAP、POP3、SMTP代理服务器;也就是说Nginx本身就可以托管网站(类似于Tomc...

Nginx系列(四)--工作原理

上篇文章介绍了Nginx框架的设计之管理进程以及多个工作进程的设计,master进程用来管理通过fork子进程与子进程通信,子进程通过处理进程信号接到master的通信去处理请求。   Nginx工作...

Nginx的源码结构和模块初始化

前言:上一篇(http://blog.csdn.net/xlgen157387/article/details/49781487)已经介绍了Nginx的基本功能,也介绍了在Windows下的安装和简单...

Nginx系列(三)--管理进程、多工作进程设计

Nginx由一个master进程和多个worker进程组成,但master进程或者worker进程中并不会再创建线程。   一、master进程和worker进程的作用   master进程   ...

Nginx系列(一)--nginx是什么?

一、介绍          Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。        ...

Nginx系列(二)--模块化

高度模块化的设计设Nginx架构的基础。在Nginx中,除了少量的核心代码,其他一切皆为模块。模块化设计具有以下特点: 1、高度抽象的模块接口 2、灵活性 3、配置模块的设计使Nginx提供了高可配置...

SQL语言基础一

SQL 是一种组织、管理和检索计算机数据库存储的数据的工具。SQL是一种特殊类型的数据库,即关系数据库。 SQL本身不是一个数据库管理系统,也不是一个独立的产品。SQL是数据库管理系统不可缺少的组成...

Maven实战(六)--- dependencies与dependencyManagement的区别

在上一个项目中遇到一些jar包冲突的问题,之后还有很多人分不清楚dependencies与dependencyManagement的区别,本篇文章将这些区别总结下来。   1、DepencyManag...

JAVA虚拟机的生命周期

一个运行时的Java虚拟机实例的天职是:负责运行一个java程序。当启动一个Java程序时,一个虚拟机实例也就诞生了。当该程序关闭退出,这个虚拟机实例也就随之消亡。如果同一台计算机上同时运行三个Jav...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)