现在有子系统
a,b
现在想要将其登录打通
有两种方案
1 session共享
这个方案效率太低,极高耦合度,仅仅适用于单子系统内部使用
2 使用统一授信服务器s
比如有一个每一个系统都需要的统一的ope id,子系统发现没有openid或者openid不对时重定向到授信服务器s进行登录,s提供一个openid到cookie,让各个子系统访问。
子系统访问有两种方案(我认为)
主动式:每一次用户访问时向s检测openid是否正确(就像单系统登录向本地session查询一样)。但是问题就是这种方案太慢,每一次都需要向s查询一下。另外可以缓存一下信息到本地,但是这样就没有办法同步登出了。。qaq
被动式:s在登录后,给每个系统 用户已登录 的消息,登出后给每个系统 用户已登出 的消息。但是,这样耦合度太高,另外如果服务器太多,岂不是崩了。。
该如何权衡?
我希望能够主动式,然后缓存,登出时清楚openid,也就是说,子系统无法判断缓存,用户对应关系而实现登出,这样是否有风险?
另外不知道自己理解的openid是不是这个意思,欢迎拍砖。。
另外我的步骤中少需要考虑的东西吗?
大家有什么好建议吗?
啊,大脑好乱。。
现在有子系统
a,b
现在想要将其登录打通
有两种方案
1 session共享
这个方案效率太低,极高耦合度,仅仅适用于单子系统内部使用
2 使用统一授信服务器s
比如有一个每一个系统都需要的统一的ope id,子系统发现没有openid或者openid不对时重定向到授信服务器s进行登录,s提供一个openid到cookie,让各个子系统访问。
子系统访问有两种方案(我认为)
主动式:每一次用户访问时向s检测openid是否正确(就像单系统登录向本地session查询一样)。但是问题就是这种方案太慢,每一次都需要向s查询一下。另外可以缓存一下信息到本地,但是这样就没有办法同步登出了。。qaq
被动式:s在登录后,给每个系统 用户已登录 的消息,登出后给每个系统 用户已登出 的消息。但是,这样耦合度太高,另外如果服务器太多,岂不是崩了。。
该如何权衡?
我希望能够主动式,然后缓存,登出时清楚openid,也就是说,子系统无法判断缓存,用户对应关系而实现登出,这样是否有风险?
另外不知道自己理解的openid是不是这个意思,欢迎拍砖。。
另外我的步骤中少需要考虑的东西吗?
大家有什么好建议吗?
啊,大脑好乱。。
单点登录一般不采用OpenId的概念,OpenId一般是外部验证才采用的。单点登录一般从登录系统登录并在登录系统域写身份 cookie 后,会跳转到其他系统的一个回调地址,带上 Ticket 参数,Ticket 是带有有限期的验证串,其他系统获得 Ticket 后从后台向登录系统验证 Ticket ,如果成功,则写入当前域的 cookie 和其他的身份信息。
关于登录后验证(主要是登出检查)这块,大多是有单点登录的网站采用的是你的第二种思路,也就是向所有系统发出登出信号,这个可以在登出后在用户端用 ajax 静默调用,一次调用多个也不会产生较大的影响。
iWebShop 软件是一款面向独立卖家而开发的单用户B2C网店系统,服务于有建立电子商务需求的独立商家,它是一款高性能高扩展能力的开源 LAMP 电子商务软件,可作为大中型电子商务平台使用。轻松实现买家注册、产品展示、在线定购、在线支付等电子商务功能;iWebShop 集成了产品发布与查询、买家登录、购物车、在线订单、在线支付、在线交流等完善的网上销售功能,最主要的是 iWebShop 的站点管
0
谢谢关注,已经找到方法了,教程如下:
http://www.imooc.com/wap/article?article_id=3558
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号