CAS 单点登录入门

1 相同顶级域名的单点登录 SSO

1.1 介绍

单点登录又称之为Single Sign On,简称SSO,单点登录可以通过基于用户会话的共享,他分为两种,先来看第一
的原理是分布式会话来实现。

比如说现在有个一级域名为 www.p2pi.cn ,是IT类网站,但是网站又可细分为不同的领域,可以通过构建二级域名提供服务给用户访问,比如: blog.p2pi.cnwallpaper.p2pi.cndownload.p2pi.cn等等,分别为博客、壁纸、资源网站等,只要用户在其中一个站点登录,那么其他站点不用重新登录。
也就是说,用户自始至终只在某一个网站下登录后,那么他所产生的会话,就共享给了其他的网站,实现了单点网站登录后,同时间接登录了其他的网站,那么其实这个就是单点登录,他们的会话是共享的,都是同一个用户会话。

1.2 Cookie + Redis 实现SSO

分布式会话后端的实现可以是基于redis的,如此会话可以流窜在后端的任意系统,都能获取到缓存中的用户数据信息,前端通过使用cookie,可以保证在同域名的一级二级下获取,那么这样一来,cookie中的信息是可以在发送请求的时候携带上的,这样从前端请求后端后是可以获取拿到的,这样一来,其实用户在某一端登录注册以后,其实cookie和redis中都会带有用户信息,只要用户不退出,那么就能在任意一个站点实现登录了。

  • 那么这个原理主要也是cookie和网站的依赖关系,顶级域名 www.p2pi.cn*.p2pi.cn的cookie值是可以共享的,可以被携带z至后端的,比如设置为 .p2pi.cn.t.p2pi.cn,如此是OK的
  • 二级域名自己的独立cookie是不能共享的,不能被其他二级域名获取,比如:blog.p2pi.cn的cookie是不能被 download.p2pi.cn 共享,两者互不影响,要共享必须设置为 .p2pi.cn

1.3 Cookie共享测试

前端代理里面需要设置

cookieDomain:'.p2pi.cn;'

SwitchHosts 需要配置host信息

# Test Share Cookie 

127.0.0.1 	blog.p2pi.cn
127.0.0.1 	download.p2pi.cn

通过访问测试,发现在用户登录之后,两个站点是能够共享用户信息的。

只要前端网页都在同一个顶级域名下,就能实现cookie与session的共享,具体流程如下:

在这里插入图片描述

2 不同顶级域名之间的单点登录 CAS

2.1 CAS引入

当用户访问www.p2pi.cn网站登录之后,会生成cookie存在,接着去访问www.p3p.cn,这个时候由于顶级域名不同,cookie是无法携带过去的,需要你进行二次登录,如下图所示:

在这里插入图片描述

这个时候就需要用其他方式,实现顶级域名不同的时候,实现单点登录,这里可以使用CAS,具体流程如下:
在这里插入图片描述

如上图所示,多个系统之间的登录会通过一个独立的登录系统去做验证,所有系统的登录都需要经过这个系统,实现了统一登录。这个就称之为CAS系系统。CAS全称为 Central Authentication Service 即中央认证服务,是一个单点登录的解决方案,可以用于不同顶级域名之间的单点登录。

2.2 CAS时序图

在这里插入图片描述

3 相关信息

  • 博文不易,辛苦各位猿友点个关注和赞,感谢
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小P聊技术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值