您的位置:首页 > 其它

单点登录cas学习心得

2014-06-18 15:23 232 查看
学习cas单点登录已经是半年多前了,一直没想起来写博文,今天偶然心血来潮,翻了下笔记,就顺便来记录一下。

我有一个小本本,早些年用来记电话号码的,后来记各个网站的用户名密码,当然还有游戏帐号密码。

大脑记不了那么多,只能靠烂笔头了,实际上烂笔头也不牢靠,谁天天带着这个本子呢,丢了更麻烦。

先不考虑网络安全的问题,现在牛人太多了,防不胜防,没谁敢说自己的东西是绝对安全的。我总是在想,为什么各个网站之间不能采用统一的帐号的呢,打开一个网页要输帐号和密码,运气好的时候,你的帐号没被注册,运气不好就得换名字,密码的规则也不一样,有的数字开头,有的英文开头,位数限制等等。如果一个人只有一个帐号,而且这个帐号可以访问所有的网站,那该多好。这是个梦想。

现在了解到有个单点登录的东西,我个人的理解,它整合了多个网站的用户,在多个网站中使用相同的一种身份验证方式,在这个范围内的网站中,一定时间内,只要输了一次密码就能到处访问。

安卓手机很普遍,我用的小米,小米有绑定手机的帐户,像是身份证一样,登录小米的各个游戏可以直接使用这个帐户,自动登录,360也一样,所有的360游戏也都可以使用360帐号直接登录。很方便。这个就是个统一用户的概念了吧。

网上关于cas的图很多,我就不画了,只在这里记录一下实现思路。

用户A,应用X,应用Y,认证中心Z。

A首次访问X时,没T没session,X告诉A去重定向找Z,A在Z登录成功,Z给A写了X的T和Z的cookie,Z告诉A可以重定向访问X了。

A带着T到了X,有T没session,X悄悄拿着T去Z检查,Z告诉X这个T登录成功的,并且Z把这个T销毁,X会为A创建session,并允许访问。

A首次访问Y时,没T没session,Y告诉A去重定向找Z,Z发现这个cookie有效,Z给A写了Y的T,告诉A可以重定向访问Y了。

A带着T到了Y,有T没session,Y和X一样。

A再访问X或Y,没T有对应的session,就允许访问了。

这里主要有两方面,一个是重定向解决跨域问题,一个是单cookie对于多个session。

单点登出也就没什么好说的了,重定向去认证中心登出,根据cookie注销该用户的session,再通知所有通过认证中心请求的应用就行了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  单点登录