跨域单点登录解决方案
单点登录有两种模型,一种是共同父域下的单点登录(例如域名都是 xx.a.com),还有就是完全跨域下的单点登录(例如域名是xx.a.com,xx.b.com),本文我们讲一下完全跨域下的单点登录该怎么实现。
基于安全考虑,想通过cookie来实现这个功能是不太可能的了(也许有其他黑科技可以实现,这里不做讨论)。这里介绍的方案是参考shiro框架的跨域session共享方案来实现的。我们知道浏览器访问系统的时候会生成一个session,那么每次请求如何知道是来自同一个浏览器呢?是因为浏览器为每个域存储了一个可以称作为session的cookie的东西,每次请求该域都会把对应的这个cookie带上,然后服务器根据这个cookie值去查找对应的session。
想要达到完全跨域的单点登录要满足两个条件:
首先要让session可以被所有系统都访问到。
其次要让同一个浏览器下的想要实现跨域的所有系统都使用同一个session。
第一个条件通过使用spring-session框架把session存储在redis中,可以很容易实现。
那么第二个条件如何实现呢?答案就是想方法为每个域设置相同的session的cookie 。
举个例子,比如有a、b两个站点域名分别是www.a.com,www.b.com,这两个域名需要共享session,并且已b域名下的session为主,a登录时跳转到b域进行登录,成功登录之后重定向到a时把sessionid带上,a站点拿到sessionid之后回写到浏览器覆盖原来生成的session的cookie。这时再次访问a站点用的就是同一个session了。大概画一个图如下:
上述方案可以实现完全跨域下的单点登录,但是存在一个很大的问题,就是安全问题!
假如在第④步操作重定向回a站点时,请求链接被不法分子拦截到了,他拿着这个链接就可以直接访问a站点了。
安全问题解决方案如下图:
其实⑥、⑦两步主要要解决的问题是,向b(认证服务器)证明:“我请求认证我是合法请求,我不是非法请求”。认证成功后,返回sessionId。
http://www.taodudu.cc/news/show-2522144.html
相关文章:
- 【场景化解决方案】OA付款审批同步到金蝶KIS
- OA性能调优方案(一)
- 广西建工OA系统office插件显示问题解决方案
- 物业平台借力OA系统,实现报修管理数字化
- OA常见问题和解决方案
- 利用计算机网络实现OA的功能,中小企业oa办公系统解决方案怎么做?
- 泛微怎么自动保存服务器,【泛微OA】系统超时登出解决方案
- OA系统(海信集团)双因素身份认证解决方案
- 微软.NET平台OA办公解决方案
- 【场景化解决方案】OA审批与金智CRM数据同步
- 提供免费的Java OA系统 解决方案
- OA解决方案
- 团队协作OA解决方案
- 当下OA系统的使用缺陷以及相关解决方案
- OA系统高性能解决方案(史上最全的通达OA系统优化方案)
- 帮助睡眠最好的办法是什么?对睡眠好的东西分享
- 2017报计算机热不热,【2017年10月份热吗】2017年10月份热不热_亲亲宝贝网
- 什么可以有助睡眠,助睡眠的生活好品
- seqkit根据基因id_西番莲内参基因及其筛选方法和应用与流程
- 在matlab下使用预训练模型Alex Net进行迁移学习的实验与分析
- 花语那些事!
- 20开头的HSCode总览
- 新品1
- vue实现结算淘宝购物车效果
- 现代薄膜温室大棚五大优点,常用的经济作物都有哪些?
- 在matlab下使用深度学习预训练模型Alex Net进行迁移学习的实验与分析
- 改善睡眠的东西有哪些?促进睡眠的方法
- 助睡眠的神器,这些东西能改善失眠,一觉睡到天亮
- Pandas的列表值处理技巧,避免过多循环加快处理速度
- html5都能干嘛种花,把这19种花种起来,整个家都能变成大花园!
跨域单点登录解决方案相关推荐
- Cookie同域,跨域单点登录
Cookie 同域单点登录最近在做一个单点登录的系统整合项目,之前我们使用控件实现单点登录(以后可以介绍一下).但现在为了满足客户需求,在不使用控件情况下实现单点登录,先来介绍一下单点登录.单点登录: ...
- JavaWeb跨域单点登录
B/S架构前后端分离项目实现跨域单点登录方案设计 项目需求: 1.前后端分离项目,由后端实现会话管理,同时校验用户权限: 2.多个项目单点登录,允许跨域访问: 3.预留CS架构客户端点击按钮打开浏览器 ...
- cas跨域单点登录原理_CAS实现SSO单点登录原理
1. CAS 简介 1.1. What is CAS ? CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的.开源的项目,旨 ...
- 跨域单点登录方案实现
SSO英文全称Single Sign On,单点登录.当我们搜索单点登录的时候,会发现很多的文章,然而这些文章一般都是基于一种通用的场景描述,通常在各自的业务环境会更加复杂.在本篇文章,我将描述具体场 ...
- SSO跨域单点登录实现方案
SSO简介 定义: 传统的单站点登录访问授权机制是:登录成功后将用户信息保存在session中,sessionId保存在cookie中,每次访问需要登录访问的资源(url)时判断当前session是否 ...
- php跨域单点登录,SSO单点登录、跨域重定向、跨域设置Cookie、京东单点登录实例分析...
SSO单点登录技术,其中有一种就是通过js的跨域设置cookie来达到单点登录目的的,下面就已京东商城为例来解释下跨域设置cookie的过程 涉及的关键知识点: 1. 跨域redirect实例: te ...
- cas跨域单点登录原理_基于CAS的SSO单点登录-实现ajax跨域访问的自动登录
先补课,以下网址可以把CAS环境搭起来. [问题背景]两个系统的整合就不说了,简单来说就是网页放在NginX上,但是ajax调用tomcat的API获取数据,其中tomcat段用CAS做身份认证.具体 ...
- 夸域单点登录解决方案
这里采用独立验证中心的方式实现,只要认证中心登录,就认为其他系统都登录.登录页面在验证中心,采用一账通登录方式.其他系统不再需要单独的登录页面.接下来把流程图贴上 接着用户又访问域名B下的系统,其流程 ...
- 利用cookie的跨域单点登录的简单实现
Configuration: 1. Web.Config 在两个站点的配置配置文件machine节点上相同的validationKey, decryptionKey and validation的值, ...
- 单点登录解决方案CAS
#单点登录解决方案CAS ##一.单点登录 单点登录SSO,实现跨域登录.当用户第一次访问系统的时候,会被引导进入认证系统中进行登录:根据用户提供的登录信息,认证系统进行身份校验,如果通过校验,应 ...
最新文章
- python是高级动态语言_Python动态语言之魅力揭秘
- FQND之联想--username@host.domain跟进
- 学会这几个Redis技巧,让你的程序快如闪电
- linux select read阻塞_linux下的IO模型详解
- 3000米排名预测(全排列+判断)
- asp.net mvc批量删除的实现
- AspNetCore应用注意这一点,CTO会对你刮目相看
- js 面向对象 继承
- 少儿编程scratch系统介绍(附网站源码)
- JavaScript里的闭包(摘自JavaScript高级程序设计)
- 福建等保测评五流程,收藏收藏
- 流媒体 - 02 常用命令(gst+ffmpeg+v4l2)
- 手机低端市场,联发科 vs 高通
- Blender新手入门试水作品:Low poly版敲击兽
- python求解不等式组可行域_二元一次不等式(组)和可行域
- csdn markdown编辑器设置字体大小和颜色换行
- html css星级评分,纯css实现星级评分效果
- 2048 php 存盘,PHPMyAdmin上传限制2048K 2M 的解决方法
- 【Git CMD】Git常用命令总结
- 高数_证明_最值定理
热门文章
- 计算机毕业设计ssm基于远程协作的汽车故障诊断系统t6ipg系统+程序+源码+lw+远程部署
- rtk手簿Android代码,中海达rtk手机测量软件(Hi-Survey Road)
- [C语言] 常量与变量
- 13.敏捷组织转型四步法之3 - 通过MoMoKo模型推进业务敏捷
- 用c语言编写的源文件 若没有产生编译错误,MSE C语言第一章习题
- 如何设置需要密码才能访问的共享文件夹?
- 手机取证设备(手机点验设备、手机合规检测、双路并行手机取证深度分析系统、手机点验数据恢复)
- 新团队团队融合研讨会_新的网络研讨会:如何避免持续交付的隐性成本
- sl4a库_sl4a之pythonapi中文参考
- 手机里重力感应器和陀螺仪的区别