首页 新闻 会员 周边

如何实现登录(单点)???

0
悬赏园豆:200 [已解决问题] 解决于 2015-05-29 10:10

现有两个web项目 发布后是两个域名 但是项目公用的是一个数据库 假如有项目A和B 要求在A中登录后浏览B时候不需要登录 同样B登录再浏览A时不需要登录 怎么去做?同事说需要做单点登录 求解决办法????在线等

就类似于登录了淘宝了之后你访问天猫就不需要再登录了

奈何桥下的主页 奈何桥下 | 初学一级 | 园豆:3
提问于:2015-05-29 09:28
< >
分享
最佳答案
1

最近怎么老有这些问题啊...

 

 

首先解释下什么是单点登录

故名失意 单点登录就是在一个位置登录

原理

部署一个登录站点

然后其他站点都和这个站点产生关系 用这个站点登录

步骤一般如下

1.访问目标站点 发现没有登录

2.到登录站点登录

3.登录完成后 生成一个key 返回目标站点

4.目标站点通过key 获得用户信息 并保存登录状态

其二 解释下一个站点登录全部站点登陆的原理

如果是同域名情况下 可以通过cookie共享key

逻辑及为  如果key没 过期 直接通过key获得用户信息 并保存登录状态

如果是不同域名情况下

在登录站点 将key保存到cookie(cookie只是媒介 用active*之内的也可以)

然后 目标网站没有登录 跳转到登录网站 登录网站发现有key 直接返回之前页面 并将key 传过去

然后目标网站通过key获得用户信息 并保存登录状态

收获园豆:195
请叫我头头哥 | 大侠五级 |园豆:9382 | 2015-05-29 09:36
目标网站没有登录 跳转到登录网站 登录网站发现有key 直接返回之前页面 并将key 传过去

 

这种方式好像比较被动,目标网站假设是b.com,是从a.com跳转过来的,b.com的页面可登录可不登录,登录了显示“欢迎XXX”,没登录显示“请登录”。这样子目标网站b.com其实是不应该跳转到登录网站的,但它应该要能正常显示用户的登录信息。

小伍2013 | 园豆:1291 (小虾三级) | 2015-05-29 23:02

@斯诺登: 好想法

请叫我头头哥 | 园豆:9382 (大侠五级) | 2015-05-30 00:53
其他回答(4)
0

一个共同的登陆页面,两个网站要登陆的时候都跳到同一个登陆页面去。答题思路就是这样的。

具体的话就是百度 SSO

收获园豆:3
吴瑞祥 | 园豆:29449 (高人七级) | 2015-05-29 09:32
0
收获园豆:2
dudu | 园豆:31007 (高人七级) | 2015-05-29 10:06
0

思路可以参考腾讯的ucenter

yikai.shao | 园豆:166 (初学一级) | 2015-05-29 13:42
0
Kenyep | 园豆:220 (菜鸟二级) | 2015-05-29 20:02
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册