基于网站现状,考虑出一个单点登录的解决方案,正在试验中

来源:互联网 发布:网络阅卷y100edu 编辑:程序博客网 时间:2024/05/27 09:46
单点登录系统可行性研究


1、验证是否登陆:可以用基于主域加密key来实现,基于userid,usertype用户类型,asynced_appids已同步的应用IDs等信息的加密验证。
接口内的验证返回true/false,页面的验证方式:未登录跳转至统一的登录界面,已登录返回true信息,(并且增加key的存在时间,看有没有必要)


2、独立获取用户信息接口


3、统一的注册登录界面, 登录时,查询ucenter用户是否存在即可。登录成功后,写基于主域 cookie的加密key.  用户注册时,先可以不同步到各个应用用户信息,当用户打开该应用的时候,判断用户已经登录了,再判断该应用是否已经同步,未同步则执行同步的规则,已同步就不用处理了。


4、用户点击任意地方的退出按钮时,只要执行清除cookie里的key即可实现所有的应用都同步退出。


5、实现的前提:各应用需要加入统一的验证方式、必须先验证ucenter是否已经登录,然后再验证本应用下的cookie等。若特殊需要,可以给本应用下的cookie加上过期时间,和uceter同步过期即可。


6、以上的思路都是基于类似session的实现方式,使用一个key来获取服务器上存储的值的方式来实现验证,所以建议各个应用的验证方式都使用“session”的方式验证。


7、验证服务器的实现方式:
接受传递过来的参数+cookie-》验证无key-》直接返回未登录->若有key-》验证key的有效性-》判断有没有同步用户,无则开始同步-》返回true.
技术可以使用nginx +md5+ mysql+memcache的实现方式
原创粉丝点击