首页
学习
活动
专区
工具
TVP
发布

SSO 单点登录_sso登陆

单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。...同域 SSO 登录 此处使用 struts2 作为 MVC 框架,可根据实际需要替换 登录界面 接收用户登录信息 <%@ page contentType="text/html;charset=UTF...")) return true; } } return false; } } 登录页面的 struts2 配置 <package name="<em>sso</em>" namespace="/<em>sso</em>" extends=...---- 同父域 SSO 登录 若在同一机器部署测试,可更改文件C:\Windows\System32\drivers\etc\hosts文件 由图可看出,同父域的 SSO 登录与同域 SSO 登录并无多大区别...---- 完全跨域 SSO 登录 即域名完全不同,如www.a.com和www.b.com 登录验证 进入www.a.com资源页面,查看cookie,若无,则跳转登录页面。

1.1K31

SSO单点登录

SSO单点登录 SSO单点登录是指在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。...,而子系统的用户登录凭证是相互隔离的,如果在这个子系统登录完成,再访问另一个子系统还需要登录,这显然不太合适,而SSO就是对于这种问题的解决方案,在多个系统中,用户只需要某一个系统中登录,在其他系统中都无需再次验证用户身份即可静默登录...假如我们存在三个子系统,A系统A.com、B系统B.com、认证服务SSO.com,当用户已经注册,登录时的主要流程: 用户打开系统A,此时用户未登录,系统自动跳转到认证服务系统SSO.com并携带参数存储跳转地址...用户在SSO.com输入账号密码,点击登录验证成功后,中央认证服务器返回一个Ticket,并将已经登录的COOKIE写入SSO.com认证服务的域名下,SSO.com认证服务重定向至跳转到认证服务时携带的地址...此时用户打开B系统,由于用户未在B系统登录,系统自动跳转到认证服务系统SSO.com并携带参数存储跳转地址B.com。

2K20
您找到你想要的搜索结果了吗?
是的
没有找到

漫谈单点登录SSO

文章将由浅入深地探讨SSO(单点登录),涉及SSO的定义、表现、原理、实现细节等方面的阐述,借助大家熟知的淘宝、天猫登录场景,通过对阿里登录的模仿实现,建立一个简单模型,然后不断由该模型进行迭代并对每一个迭代版本进行详细描述...2.2 SSO示例——淘宝、天猫的登录场景 我们暂不考虑细节,先从SSO需要解决的问题入手:使用一个账户通过一次登录,即可在多个相关的系统之间来回访问,为了更加形像我们还是上图:(多图预警) 登录页面,...登录SSO的时候,这倒没有问题,可以让用户填!...U第一次访问W,W验证失败,跳转至SSO要求U进行登录验证; 登录并使各不同Domain下: U 给SSO发送登录请求,SSO验证成功,生成SessionID 并保存UserInfo; 返回给U的...SSO_V3 使不同 Domain 获取相同的cookie 拷贝时,表面是在U处主动发出向T的请求(其实是被动), 但实际上是 SSO 返回给 U 的页面自动完成的(通过 JS、通过页面自动跳转、iframe

1.8K30

漫谈单点登录SSO

文章将由浅入深地探讨SSO(单点登录),涉及SSO的定义、表现、原理、实现细节等方面的阐述,借助大家熟知的淘宝、天猫登录场景,通过对阿里登录的模仿实现,建立一个简单模型,然后不断由该模型进行迭代并对每一个迭代版本进行详细描述...2.2 SSO示例——淘宝、天猫的登录场景 我们暂不考虑细节,先从SSO需要解决的问题入手:使用一个账户通过一次登录,即可在多个相关的系统之间来回访问,为了更加形像我们还是上图:(多图预警) 登录页面,...登录SSO的时候,这倒没有问题,可以让用户填!...U第一次访问W,W验证失败,跳转至SSO要求U进行登录验证; 登录并使各不同Domain下: U 给SSO发送登录请求,SSO验证成功,生成SessionID 并保存UserInfo; 返回给U的...SSO_V3 使不同 Domain 获取相同的cookie 拷贝时,表面是在U处主动发出向T的请求(其实是被动), 但实际上是 SSO 返回给 U 的页面自动完成的(通过 JS、通过页面自动跳转、iframe

5.7K60

单点登录SSO)详解

需要登录时,将跳到SSO系统,SSO系统完成登录,其他的应用系统也就随之登录了。...这完全符合我们对单点登录SSO)的定义。 技术实现 在说单点登录SSO)的技术实现之前,我们先说一说普通的登录认证机制。 ?...我们要做单点登录SSO),需要一个登录系统,叫做:sso.a.com。 我们只要在sso.a.com登录,app1.a.com和app2.a.com就也登录了。...跳转到CAS server,即SSO登录系统,以后图中的CAS Server我们统一叫做SSO系统。 SSO系统也没有登录,弹出用户登录页。...用户访问app2系统,app2系统没有登录,跳转到SSO。 由于SSO已经登录了,不需要重新登录认证。 SSO生成ST,浏览器跳转到app2系统,并将ST作为参数传递给app2。

10.7K60

单点登录 SSO 的实现

✨ 什么是单点登录 单点登录SSO(Single Sign On) 用户只需登录一次,就可访问同一帐号平台下的多个应用系统。...而 SSO 是一种统一认证和授权机制,去解决这种重复认证的逻辑,提高用户的体验。...图片 ✨ 单点登录的凭证 由单点登录的原理,可以看出来,最重要的就是这个通用的登录凭证 ticket 如何获得 而实现 ticket 多应用共享主要有三种方式:父域加密 Cookie、用户认证中心、Localstorage...用户中心不处理业务逻辑,只是处理用户信息的管理以及授权给第三方应用 第三方应用需要登录的时候,则把用户的登录请求转发给用户中心进行处理,用户处理完毕返回凭证,第三方应用验证凭证,通过后就登录用户。...流程是用户访问应用系统,应用系统先检查用户是否有 Ticket,如果没有,则说明用户在该应用上尚未登录,跳转到用户中心,通过用户中心的 Cookie 去判断用户是否在其他应用上进行了登录 如果认证中心发现用户尚未在其他任何应用上执行过登录

1.8K73

什么是单点登录(SSO)

简单代码实现JWT(json web token)完成SSO单点登录 一、什么是单点登录? 单点登录的英文名叫做:Single Sign On(简称SSO)。...抽取出来成为子系统 SSO登录系统)的逻辑如下: // 登录功能(SSO单独的服务) @Override public TaotaoResult login(String username, String...系统生成一个token,并将用户信息存到Redis中,并设置过期时间 其他系统请求SSO系统进行登录,得到SSO返回的token,写到Cookie中 每次请求时,Cookie都会带上,拦截器得到token...,判断是否已经登录 到这里,其实我们会发现其实就两个变化: 将登陆功能抽取为一个系统(SSO),其他系统请求SSO进行登录 本来将用户信息存到Session,现在将用户信息存到Redis 3.2 Cookie...service=www.java3y.com sso认证中心发现用户未登录,将用户引导至登录页面,用户进行输入用户名和密码进行登录,用户与认证中心建立全局会话(生成一份Token,写到Cookie中,保存在浏览器上

1.5K30

xxl-sso单点登录

由此我们可以看到xxl-sso的思想也是基于过滤器实现自己的增强。 我们可以回忆CAS的登录场景: 首先登录业务系统,或者登录一个父系统,从而进入到子系统。...5).同时可以对token进行续期 二、xxl-sso的架构图 可以看到在sso-server启动后,业务系统登录的时候,进行重定向到sso-server,携带sso sessionid...三、实战操作 启动sso-server端 1.基于token访问 通过账号和密码访问服务端的登录接口就可以拿到token: http://localhost:8080/xxl-sso-server/app...进行拦截器会进行登录拦截 进行重定向: http://xxlssoserver.com:8080/xxl-sso-server/login?...xxl_sso_sessionid=1000_06a1984b96a244a5927cdae2596e79bb 登录后,会跳转到成功页面: http://localhost:8081/xxl-sso-web-sample-springboot

89220

什么是单点登录SSO

来源:Java3y(ID:java3y) 一、什么是单点登录? 单点登录的英文名叫做:Single Sign On(简称SSO)。 在初学/以前的时候,一般我们就单系统,所有的功能都在同一个系统上。...抽取出来成为子系统 SSO登录系统)的逻辑如下: // 登录功能(SSO单独的服务) @Override public TaotaoResult login(String username, String...系统生成一个token,并将用户信息存到Redis中,并设置过期时间 其他系统请求SSO系统进行登录,得到SSO返回的token,写到Cookie中 每次请求时,Cookie都会带上,拦截器得到token...,判断是否已经登录 到这里,其实我们会发现其实就两个变化: 将登陆功能抽取为一个系统(SSO),其他系统请求SSO进行登录 本来将用户信息存到Session,现在将用户信息存到Redis 3.2 Cookie...(比如说购物车功能,购物车功能需要登录后才能访问),系统Awww.java3y.com发现用户并没有登录,于是重定向到sso认证中心,并将自己的地址作为参数。

97731

全面介绍SSO(单点登录

SSO英文全称Single SignOn,单点登录SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。...如果通过校验,用户就可以在不用再次登录的情况下访问应用系统2和应用系统3了。 二、使用SSO的好处 方便用户 用户使用应用系统时,能够一次登录,多次使用。...三、SSO实现方案 常见的跨域登录问题 1、对于同一个根域下的登录问题 如果我们的站点有不止一个业务,那么他们可能部署在不同的机器上,也往往需要不同的域名进行区分。...方法1:登录成功之后将Cookie回写到多个域名下。 这种办法可能十分简单,你可以通过后端的response写,也可以用前端js去写,但是必须有对所有需要“单点登录”的站点进行逐一的写入。...盗图一张说明sso单个域的登录和验证流程: CAS主要分为CAS Client 和CAS Server ,其中Client主要是内嵌在需要SSO登录站点的拦截器或过滤器上。

3.2K20

单点登录实现原理(SSO

下面对上图进行解释: 当用户还没进行用户登录的时候 1 用户去访问系统1的保护资源 ,系统1检测到用户还没登录,跳转至SSO认证中心,SSO认证中心也发现用户没有登录,就跳转到用户至认证中心的登录页面...认证中心,SSO认证中心发现用户已经登录,然后执行第3步),返回受保护资源 用户已经通过认证中心的认证后 用户访问系统2的保护资源,系统2发现用户未登录,跳转至SSO认证中心,SSO认证中心发现用户已经登录...,向SSO认证中心发起注销请求,认证中心校验令牌有效,会销毁全局会话,同时取出此令牌注册的系统地址,认证中心向所有注册系统发出注销请求,各系统收到注销请求后销毁局部会话,认证中心引导用户跳转值登录页面。...整体陈述 1 单点登录涉及SSO认证中心与多个子系统,子系统与SSO认证中心需要通信(交换令牌、校验令牌及发起注销请求等),子系统中包含SSO的客户端,SSO认证中心是服务端 2 认证中心与客户端通信可通过...sso认证中心发送的令牌 与服务器端通信,校验令牌的有效性 建立局部会话 拦截用户注销请求,向sso认证中心发送注销请求 接收sso认证中心发出的注销请求,销毁局部会话 服务器端: 验证用户的登录信息

78511

单点登录实现原理(SSO

下面对上图进行解释: 当用户还没进行用户登录的时候 用户去访问系统1的保护资源 ,系统1检测到用户还没登录,跳转至SSO认证中心,SSO认证中心也发现用户没有登录,就跳转到用户至认证中心的登录页面...,SSO认证中心发现用户已经登录,然后执行第3步),返回受保护资源 用户已经通过认证中心的认证后 用户访问系统2的保护资源,系统2发现用户未登录,跳转至SSO认证中心,SSO认证中心发现用户已经登录,...整体陈述 单点登录涉及SSO认证中心与多个子系统,子系统与SSO认证中心需要通信(交换令牌、校验令牌及发起注销请求等),子系统中包含SSO的客户端,SSO认证中心是服务端 认证中心与客户端通信可通过...httpClient、web service、rpc、restful api(url是其中一种) 等实现 客户端与服务器端的功能 客户端: 拦截子系统未登录用户请求,跳转至sso认证中心 接收并存储...sso认证中心发送的令牌 与服务器端通信,校验令牌的有效性 建立局部会话 拦截用户注销请求,向sso认证中心发送注销请求 接收sso认证中心发出的注销请求,销毁局部会话 服务器端: 验证用户的登录信息

1.5K30

单点登录 (Single Sign-On, SSO)

一、单点登录的概念与功能 单点登录的英文简称为SSO(single sign on),单点登录功能使得用户只要登录了其中一个系统,就可以访问其他相关系统,而不用进行身份验证登录。...2.1 单服务器环境 传统登录流程 传统登录流程.png 此方式在只有一个web工程时是没有问题。...如果还用上面那张验证方式的话,访问a模块的话发现没登录,然后跳转页面登录了,信息存入session中,如果下次访问的是b模块,由于模块都是存在于不同的服务器session中肯定没有登录用户信息,那么肯定是访问不通过要求重新登录...分布式登录流程.png 解决:我们可以整个Session服务器(SSO系统)专门用来处理登录问题,这样用户每次访问用户中心的时候都来该服务器判断用户有没有登录,如果登录了放行,没有登录就跳转到登录页面...这样做,只要用户换电脑登录了,那么Cookie里面就没有这个token就查不到用户信息所以必须要重新登录了,分析到这基本上也能做了。 11.png

1.1K30

SSO单点登录流程源码学习

SSO单点登录流程源码学习 应用背景 过去若是部署多台单点登录系统,会通过nginx配置做会话保持,从而保证不同客户端发起的登录请求会一直落在同一台机器,保证正常登录,nginx配置如图举例:...当去掉nginx会话保持时,SSO系统会出现在进入登录页面时在A上生成了验证码,默认放在了A的session,而提交时请求到了B上,而B的session中没有页面提交过来的验证码导致登录验证不通过。...SSO系统LT存入redis 首先看下lt在登录页面中的位置,位于登录提交表单的隐藏域, lt的作用简单来说就是为了应对登录用户点击退出后,在浏览器点击回退操作时,系统不会自动提交登录参数从而在操作人员无意识情况下再次登录系统...补充内容(SSO系统补偿service) 现状分析 通过上述的改造后,再配合nginx无会话保持时两台机器测试单点登录,发现每次登录成功后均不能正常跳转到业务页面,而是跳转到如下页面 这又是什么原因呢...继续回到SSO单点登录流程上找问题,查看login-webflow.xml, 可以看到在提交登录表单验证success后应进入sendTicketGrantingTicket,同时发现在提交表单验证的

8310

单点登录 SSO 的前世今生

是什么 单点登录全称single sign on,简称SSO,指在多系统应用群中登录一个系统,便可在其他所有系统中得到授权而无需再次登录,包括单点登录和单点注销两部分。...如何实现 登录 sso需要一个独立的认证中心,只有认证中心能接受用户的用户名密码等安全信息,其他系统不提供登录入口,只接受认证中心的间接授权。...操作步骤如下: 1.用户访问系统1的受保护资源,系统1发现用户未登录,跳转至sso认证中心,并将自己的地址作为参数 2.sso认证中心发现用户未登录,将用户引导至登录页面 3.用户输入用户名密码提交登录申请...并将自己的地址作为参数 11.sso认证中心发现用户已登录,跳转回系统2的地址,并附上令牌 12.系统2拿到令牌,去sso认证中心校验令牌是否有效 13.sso认证中心校验令牌,返回有效,注册系统2 14...4.sso认证中心向所有注册系统发起注销请求 5.各注册系统接收sso认证中心的注销请求,销毁局部会话 6.sso认证中心引导用户至登录页面

54920

单点登录 SSO 的实现原理

单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任。...实现单点登录说到底就是要解决如何产生和存储那个信任,再就是其他系统如何验证这个信任的有效性,因此要点也就以下几个: 存储信任 验证信任 只要解决了以上的问题,达到了开头讲得效果就可以说是SSO...如何让SSO系统信任登录系统和免登系统 对于第一个问题,一般可以采用类似与memcached的分布式缓存的方案,既能提供可扩展数据量的机制,也能提供高效访问。...,需把这个token传给SSO系统,SSO系统通过对token的验证就可以辨别信息是否被改过。...以上只是提供了些简单的实现技术,但需要强调的是这只是技术实现而已,仅仅是为了解决上面谈到的一些问题,SSO本身来说并不是什么高科技,有了这个认识比较有利于我们深入探索SSO

1.2K100

手撕公司SSO登录原理

Single Sign-on SSO是老生常谈的话题了,但部分同学对SSO可能掌握的也是云里雾里,一知半解。本次手撕公司的SSO原理,试图以一种简单、流畅的形式为你提供有用的SSO原理。...按照本人一贯行文风格,我们先说什么是SSO,为什么要提出SSO?...系统,所以SSO系统会返回登陆界面 ③ 用户在SSO登陆页输入账户/密码 ④ 登陆成功,SSO会在客户端写入cookie for sso[官方叫CASTGT]并产生一个302重定向响应,客户端将重定向到原...ticket=XXXX-OOOO-XXXX-OOOO请求,会做一次SSO验证;验证成功,写入本站Cookie for website2 重点解读 ① SSO认证成功,写入的cookie for sso,...④ 退出SSO登陆,要做两件事情: - 向SSO发起api请求,请求SSO删除用户在SSO域下的认证cookie for sso - 移除本站的cookie for website1

97130
领券