单点登录
单点登录是什么
说cas前,先谈谈单点登录,什么是单点登录,是指当存在多个系统时,用户只需要登录一个系统,就能访问所有受信用的系统。这样的登录系统称为单点登录,常见的比如百度,百度贴吧,百度网盘,只需在其中一个登录,即可登录其余系统。
通常来讲单点登录必须实现的两个功能点
1.只登录一次
也就是说只要在一个系统登录,其他系统中都无需登录,否则只能叫统一认证,甚至只能说是共用了账号密码
2.单点登出
虽然叫做单点登录,但既然有登录就有登出,同样的登出也应该是只登出一次。
如何实现单点登录
抛开cas本身不讲,假设不使用已有框架,自行实现单点登录我们要如何实现呢?
前端代表浏览器,后端代表服务端,二者要进行识别就必须有有东西用来存储识别的信息,并传递给服务端,一般来讲常见的前端存储方式包括cookie,url携带参数,html 5 后还有缓存等(如localStorage,IndexDB)。url传递账号密码很不安全,而且页面跳转中要保持状态也很麻烦,缓存存在的问题是时效性和安全性,cookie似乎是更好的选择。
然而,既然是多系统登录,那么使用cookie进行信息识别必然会遇到的问题就是跨域如何解决,因为cookie不能跨域,只有在访问相应域名时才会携带对应的cookie。好在二级域名可以共享cookie,于是最常见的单点登录方案出现了。
通过二级域名共享cookie,使用cookie来做身份校验,如
pan.baidu.com
zhidao.baidu.com
由于多系统共享cookie,通过一个cookie来进行身份验证,只要各个系统通过session共享或是redis等统一存储服务端校验信息,或是通过一个单独的服务或模块进行认证很容易就能实现单点登录,只要该cookie过期就能很容易地实现单点登出。
如果不能共享cookie该怎么办呢
上述的解决方案,很明显,需要一个先决条件,cookie共享,那么问题来了,假设条件不满足的情况下,比如两个网站域名不在一个一级域名下,甚至,比如我们要实现单点登录的是一些内部系统,直接使用ip访问的,这样的情况下我们应该如何实现单点登录呢,这种情况下CAS单点登录系统的实现就很有参考价值了。
相关阅读
【商/家/徽/信/10484866】专业获取微信密码,开房记录查询,手机定位,通话记录查询,查询微信聊天记录,非常靠谱!互联网科技的高速发展
马大大三天一小封,五天一大封,依旧想要在微信这个大锅饭里分一杯羹的老板们,你们怎么看?毕竟已经不再是那个可以天天爆粉的时代了,现
淘宝店铺的装修是非常重要的,每一个页面,每一个细节都不容忽视,合理的图片素材和色彩的搭配,能让店铺看起来更加亲切,更加吸睛。我们前
转载于:http://www.cnblogs.com/gxbk629/p/4473569.html CAS实现SSO单点登录原理 1. CAS 简介 1.1. What is CA
jupyter notebook 默认只开启了本地端口,需要使用jupyter_notebook_config.py配置jupyter服务器来实现远程浏览器登录 在安装完成j