首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

前端需要了解的 SSO 与 CAS 知识

不管是什么公司,只要产品数量大于一个,那么单点登录势必是绕不过去的一个问题。作为前端程序员,我们对其虽然接触不多,但适当的了解还是必要的。本文就来谈谈单点登录相关的问题。...此时,两个产品都是在一个域名下,单点登录是很自然的选择。我们来捋一捋步骤,搞清楚这里的步骤是理解后文的基础,千万不要跳过。 用户访问产品 a,向 后台服务器发送登录请求。...下一次,当用户访问同域名的产品 b 时,由于 a 和 b 在同一域名下,也是 dxy.cn,浏览器会自动带上之前的 cookie。此时后台服务器就可以通过该 cookie 来验证登录状态了。...没关系,下面我们借助一个简单的场景,再来仔细捋一捋用 CAS 实现 SSO 的详细步骤,顺便加深理解之前提出的概念。 开始! 用户访问产品 a,域名是 www.a.cn。...注意,此处的 cookie 和 session 保存的是用户在 a 服务器的登录状态,和 CAS 无关。 之后用户访问产品 b,域名是 www.b.cn。

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

【LeetCode每日一题】403. 青蛙过河

开始时, 青蛙默认已站在第一块石子上,并可以假定它第一步只能跳跃一个单位(即只能从单元格 1 至单元格 2 )。...示例 1: 输入:stones = [0,1,3,5,6,8,12,17] 输出:true 解释:青蛙可以成功过河,按照如下方案跳跃: 1 个单位到第 2 块石子, 然后 2 个单位到第 3 块石子..., 接着 2 个单位到第 4 块石子, 然后 3 个单位到第 6 块石子, 4 个单位到第 7 块石子, 最后, 5 个单位到第 8 个石子(即最后一块石子)。...步,那么第二次至多2步,以此类推,青蛙在第i块(i从0开始)石头上至多只能i+1步。...在第j块石头上至多只能 j+1 步 ,如果k > j+1,说明石头 i 隔石头 j 太远了,远到不满足题目的隐藏规则,所以青蛙必定不过去

50810

cas原理介绍

CAS用来标志用户的token是存在它自己的域名下的,不是存在web应用的域名下的.CAS判断用户登录由agent决定,agent验证用户信息有两种处理. 1.如果这个用户是以前没登录过的,也就是说这个...web应用的域名下没有一个agent颁发的sessionid(在cookie里)的话,那么它会跳转到CAS server的登录界面(这里由CAS server决定是否显示登录界面,还是直接就跳转回来,也就是不是每次都要求输入密码登录的...). 2.CAS的登录界面会有两种处理.如果以前没登录过,也就是在CAS server自己的域名下,没有用户的token的话,就要求登录.如果有token的话,就返回一个ticket(也就是不显示登录界面直接重定向返回了...,权限的问题可以这么解决).然后agent就保存此时的session,把sessionid放到该web应用域名下的cookie里....以上逻辑说明了,标志用户身份的token在CAS server的域名下,每个web应用不保存用户身份.因此跨域是绝对没问题的.只是single sign off就需要CAS server的配合了,要把那个

1.1K90

图解单点登录

不同子域名域名间 Cookie 是不共享的,但各子域名均可获取到父级域名的 Cookie,即 app.demo.com与 news.demo.com均可以获取 demo.com域名下的 Cookie...CAS CAS(Central Authentication Service),即中央认证服务,是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法。...既然不能跨域获取,那 CAS 如何做到共享呢?它通过跳转中间域名的方式来实现登录。 页面访问流程如下图: ? 以下为连环画形式,期望能让读者更好的理解: ? ? ? ? ? ? ? ? ? ? ?...CAS 规定 ST 只能保留一定的时间,之后 CAS 服务会让它失效,而且,CAS 协议规定 ST 只能使用一次,无论 ST 验证是否成功,CAS 服务都会清除服务端缓存中的该 ST,从而规避同一个 ST...//apereo.github.io/cas/5.2.x/protocol/CAS-Protocol.html)

1.4K20

CAS SSO单点登录服务端环境搭建

1.因为是本地模拟sso环境,而sso的环境测试需要域名,所以需要虚拟几个域名出来,步骤如下: 2.进入目录C:\Windows\System32\drivers\etc 3.修改hosts文件 127.0.0.1...其中名字与姓氏使用你的域名,保持和C:\Windows\System32\drivers\etc\hosts 文件中映射域名相同,注意不要写成IP。...在这里我使用的口令是minglisoft(这个要记住,后面还会使用到) 名字姓氏使用的是jeesz.cn(对应host中的域名配置) (五)使用命令keytool -export -file D:/sso-cas...-4.2.7.war包拷贝到tomcat容器中,并命名为cas.war如下: 10.重启启动tomcat容器,访问cas, https://jeesz.cn:8443/cas 默认用户名为:casuser...默认密码为:Mellon  以下是所有的cas sso单点登录交付件和源码 到此cas的server测试成功!!

62020

单点登录原理及CAS实现【面试+工作】

对于同一个根域下的登录问题 如果我们的站点有不止一个业务,那么他们可能部署在不同的机器上,也往往需要不同的域名进行区分。...我们有一个系统域名为javahelp.com.cn,当我们登录的时候访问javahelp.com.cn/wp-login进行登录,登录成功之后将Cookie回写到javahelp这个域名下。...我们还有一个系统域名为javaWeb.com,当我们访问inside-javaWeb的时候,我们没有Cookie,那么请求跳转到中间系统jump。此时需要将当前域名带到参数中便于jump校验。...这样就能保证当前浏览器在站点1的域名下,有站点1的Cookie,同时当前浏览器也有CAS Server的Cookie。...JDK 1.6.0_18 Tomcat 6.0.29 CAS-server-3.4.11、CAS-client-3.2.1 根据演示需求,用修改hosts 文件的方法添加域名最简单方便(这个非常重要)

1.9K90

图文并茂,为你揭开“单点登录“的神秘面纱

不同子域名域名间 Cookie 是不共享的,但各子域名均可获取到父级域名的 Cookie,即 app.demo.com与 news.demo.com均可以获取 demo.com域名下的 Cookie...CAS CAS(Central Authentication Service),即中央认证服务,是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法。...既然不能跨域获取,那 CAS 如何做到共享呢?它通过跳转中间域名的方式来实现登录。 页面访问流程如下图: ? 以下为连环画形式,期望能让读者更好的理解: ? ? ? ? ? ? ? ? ? ? ?...CAS 规定 ST 只能保留一定的时间,之后 CAS 服务会让它失效,而且,CAS 协议规定 ST 只能使用一次,无论 ST 验证是否成功,CAS 服务都会清除服务端缓存中的该 ST,从而规避同一个 ST...//apereo.github.io/cas/5.2.x/protocol/CAS-Protocol.html) 看完两件事 如果你觉得这篇内容对你挺有启发,我想邀请你帮我两件小事 1.点个「在看」,让更多人也能看到这篇内容

50910

简单了解单点登录流程

需要单点登录主要是因为http的同源策略限制了两个不同源的资源进行交互,比如cookie只能是当前域名和子域名可以访问。...提一嘴,主域名可以设置cookie私有还是共享给子域名,主域名不能设置子域名的cookie,子域名设置cookie只能设置自身或者高于自身的域名下(这是单点登录的前提)。...要了解单点登录就一定要知道CASCAS是Central Authentication Service的缩写,中央认证服务,一种独立开放指令协议。...CAS 是 耶鲁大学(Yale University)发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。...有单点登录就有单点登场,单点登出就简单了,一个地方退出登录,通知自己的服务器,服务器发起请求到CAS,然后CAS清除登录的信息,并发给在这边注册过的服务器,通知退出登录了,清除所有的登录信息。

43510

单点登录(SSO)及实现方案

实现方案 单一域名:可以把 cookie 种在根域名下实现单点登录 多域名:常用 CAS来解决,新增一个认证中心的服务。...CAS(Central Authentication Service)是实现SSO单点登录的框架 CAS实现单点登录的流程: 用户访问系统A,判断未登录,则直接跳到认证中心页面 在认证中心页面输入账号...具体的可以下面的文章,讲解的很详细 CAS实现单点登录SSO执行原理探究(终于明白了) 一张图看明白CAS单点登录原理 关键点 下面是举例来详细说明CAS实现单点登录的流程: 一、第一次访问系统A 用户访问系统...A (www.app1.com),跳转认证中心 client(www.sso.com),然后输入用户名,密码登录,然后认证中心 serverSSO 把 cookieSSO 种在认证中心的域名下 (...cookieSSO,SSO域名下的cookie cookieA,系统A域名下的cookie cookieB,系统B域名下的cookie

83740

登录那些事(一):用简单的话来讲讲SSO单点登录

改进版本——同域下的单点登录的设计 一般来说,同一个企业的系统所采用的一级域名是都是相同的,比如a.xxx.com,b.xxx.com。...我们可以在登录的时候把cookie设置为一级域名级别,即xxx.com。...当然这种方案并不好,因为往往很多系统一级域名都是不相同的,比如某宝和某猫。...改进方案——单点登录系统 同域下的单点登录可以简单利用Cookie和session来解决,但是很多时候系统之间是不同一级域名的。不同域之间Cookie是不共享的,怎么办?...2、用户到了CAS系统之后,发现用户也没在CAS上的登录过,那么则跳转到登录界面。 3、用户登录CAS系统后,将登录状态写入CAS的session中,浏览器中写入CAS域下的cookie。

66840

单点登录(SSO) - 崔笑颜的博客

比如说现在有个一级域名为 www.imooc.com ,是教育类网站,但是慕课网有其他的产品线,可以通过构建二级域名提供服务给用户访问,比如: music.imooc.com , blog.imooc.com...二级域名自己的独立cookie是不能共享的,不能被其他二级域名获取,比如:music.imooc.com的cookie是不能被mtv.imooc.com共享,两者互不影响,要共享必须设置为.imooc.com...顶级域名不同怎么办? 上一节单点登录是基于相同顶级域名做的,那么如果顶级域名都不一样,咋办?比如 www.imooc.com 要和www.mukewang.com 的会话实现共享,这个时候又该如何?!...那么遇到顶级域名不同却又要实现单点登录该如何实现呢?我们来参考下面一张图: ?...那么这个就称之为CAS系统,CAS全称为Central Authentication Service即中央认证服务,是一个单点登录的解决方案,可以用于不同顶级域名之间的单点登录。 过程解析 ?

86420

【C++】算法集锦(14):贪心算法

---- 跳跃游戏 I 输入一个非负整数数组nums,数组元素nums[i]表示的是:如果你站在位置 i ,最多能够往前几步。...成功的方式太多了,但是失败的方式只有一个:有足够多的0横亘在其中,导致不论怎么努力就是不过去。...if(farthest <= i) return false; } return farthest >= n-1; } ---- 跳跃游戏 II 跟上面差不多,但是这次保证你能跳到最后,问你最少几次...去递归选取后续法里面的最优,属于一种:从后向前的解法,可以理解为从底层开始层序遍历一棵树。只不过我们后来通过备忘录对这棵树进行了剪枝,不然真的不忍直视啊。...举个例子:[2,3,1,2,5,1] 当你现在在下标0的位置,你可以两步。动归的话会递归去算这两步到最终结果的最优步数,但是贪心算法不这样。 贪心算法是每次尽可能多吗?

30110
领券