两种单点登陆设计

单点登陆设计
SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一
      现在很多企业级应用都基本会去实现单点登陆功能,这样对于用户体验上会有不错的加强。不需要重复登陆多次。好了废话少说,我今天主要介绍两种单点登陆设计。

第一种:最简单的单点登陆设计,如下图:

如图所示:当直接访问各类业务系统时,在页面加载时会判断session是否存在,如果不存在通过(HttpContext.Current.Response.Redirect)URL重定向到单点登陆的sso.ashx页面。
单点登陆的sso.ashx页面接收到请求时,获取单点登陆session的用户信息,如果session信息丢失,直接跳转到单点登陆登陆页面,否则获取到session登陆信息通过url跳回原来的业务系统页面
业务系统页面接收url登陆用户ID,根据用户ID获取权限,给session赋值,继续访问操作业务系统各类页面。

第二种:单点登陆设计,如图:

如图所示:点单登陆系统登陆后会产生一个ticket存入客户端cookie中。

当访问业务系统时,判断业务系统当前用户session是否丢失,如果丢失利用webService,将ticket传到点单登陆系统,尝试获取登陆用户信息

获取到了继续访问

未获取到跳转到点单登陆系统的登陆页面

时间: 2024-08-27 01:55:01

两种单点登陆设计的相关文章

单点登录(两种单点登录类型:SSO/CAS、相同一级域名的SSO)

单点登录:SSO(Single Sign On) 什么是单点登录:大白话就是多个网站共享一个用户名和密码的技术,对于普通用户来说,只需要登录其中任意一个网站,登录其他网站的时候就能够自动登陆,不需要再输入 用户名和密码了. 单点登录类型: 1.具有相同一级域名的多个网站,以新浪为例,新浪首页实际上是一个导航页面,它提供了很多很多的旗下网站地址,比如 (1)新浪新闻: http://news.sina.com.cn/ (2)新浪科技:http://tech.sina.com.cn/ (3)新浪博客

链圈的朋友们值得收藏!腾讯首席架构师教你两种区块链设计思路

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由敖萌发表于云+社区专栏 区块链发展到了现在,产生了很多不同形式的区块链技术.随着技术的发展,目前比较公认的看法是区块链已经走进了2.0时代.区块链1.0是以比特币为代表的去中心化数字货币区块链系统,而2.0则是引入了智能合约的区块链系统. 在支持智能合约的区块链系统中,Linux基金会所属的Hyperledger Fabric(由IBM贡献)和Vitalik Buterin所领导的以太坊基金会所创造并管理的Ethereum(以太坊

【Java EE 学习第68天】【单点登录】【两种单点登录类型:SSO/CAS、相同一级域名的SSO】

什么是单点登录:大白话就是多个网站共享一个用户名和密码的技术,对于普通用户来说,只需要登录其中任意一个网站,登录其他网站的时候就能够自动登陆,不需要再输入用户名和密码了. 单点登录类型: 1.具有相同一级域名的多个网站,以新浪为例,新浪首页实际上是一个导航页面,它提供了很多很多的旗下网站地址,比如 (1)新浪新闻: http://news.sina.com.cn/ (2)新浪科技:http://tech.sina.com.cn/ (3)新浪博客:http://blog.sina.com.cn/

两种高效的事件处理模式(Proactor和Reactor)

典型的多线程服务器的线程模型 1. 每个请求创建一个线程,使用阻塞式 I/O 操作 这是最简单的线程模型,1个线程处理1个连接的全部生命周期.该模型的优点在于:这个模型足够简单,它可以实现复杂的业务场景,同时,线程个数是可以远大于CPU个数的.然而,线程个数又不是可以无限增大的,为什么呢?因为线程什么时候执行是由操作系统内核调度算法决定的,调度算法并不会考虑某个线程可能只是为了一个连接服务的,时间片到了就执行一下,哪怕这个线程一执行就会不得不继续睡眠.这样来回的唤醒.睡眠线程在次数不多的情况下,

探究Repository模式的两种写法与疑惑

现如今DDD越来越流行,园子里漫天都是介绍关于它的文章.说到DDD就不能不提Repository模式了,有的地方也叫它仓储模式. 很多时候我们对Repository都还停留在Copy然后使用的阶段, 我注意到Repository模式有两种流行的设计方式. 今天我就是想跟大家讨论下这两种设计方式之间的区别,同时弄清楚哪种方式更合理(无需纠结代码细节),见下图: 左右两边代码比较: 1.左边的Repository代码在实际使用中是最常见的,右边的使用更少一些. 2.左边代码的更难理解一些,右边的代码

网页设计制作CSS实现隔行换色两种方法

网页设计制作CSS实现隔行换色两种方法 2007-12-21 20:59:44  来源:网页教学网 网页设计制作,CSS实现隔行换色两种方法: 第一种方法: 以下为引用的内容:<style type="text/css">UL.myul1 LI{}</style><ul class="myul1"><li id="li1">111</li><li id="li2"

外网登陆SAP的两种方式

1.用SAP router实现从外网登录SAP服务器(方式一) 自已搭建的局域网结构如下: SAP服务器IP: 192.168.0.2, 路由器中设为DMZ区 在SAP服务器上启用SAP router,即可 SAP router的搭建非常简单: 1.找到SAP的安装目录(例如D:\usr\sap\ECC\DVEBMGS00\exe\),可以看到saprouter.exe文件 2. 用记事本建立一个名为SAPROUTTAB的文件(没有扩展名), 输入 P * * * 后保存 3.打开c:\syst

Reactor事件驱动的两种设计实现:面向对象 VS 函数式编程

Reactor事件驱动的两种设计实现:面向对象 VS 函数式编程 这里的函数式编程的设计以muduo为例进行对比说明: Reactor实现架构对比 面向对象的设计类图如下: 函数式编程以muduo为例,设计类图如下: 面向对象的Reactor方案设计 我们先看看面向对象的设计方案,想想为什么这么做: 拿出Reactor事件驱动的模式设计图,对比来看,清晰明了: 从左边开始,事件驱动,需要一个事件循环和IO分发器,EventLoop和Poller很好理解:为了让事件驱动支持多平台,Poller上加

IOS的两种框架设计思想

不管是任何一门语言,架构设计永远在其中占据着十分重要的作用,一个好的架构思想能够让程序的流程更加清晰,能够让程序工作的更加简单而有效.如果没有架构思想的话,那么所有的程序设计都将沿着一条设计思路走下去,程序设计将完全失去了活力,只剩下了千篇一律的代码编写,修改,调试:有了代码架构,我们将在程序的思想上投入更大的精力,投入更多的时间与精力去创造一些便利程序设计的结构,这将使程序的结构更加多样化,便利化,也会使你在学习工作的过程中事半功倍. 说了这么多,似乎总是没有什么有力的证据来印证这么一些话,我