php 怎么实现单点登录

问题少年 发布于 2012/07/25 09:39
阅读 7K+
收藏 3
PHP
加载中
0
红薯
红薯
这个问题很大,结果你几个字就完事了:)
0
Sephiroth
Sephiroth
可以用个简单的办法——Memcached 
0
回去干活
回去干活
ucenter的原理.代码比较简单,看一下就了解了.
0
问题少年
问题少年
新手,几天了都没找的办法纠结
开源春哥
开源春哥
要看具体的应用场景。
0
童学芬
童学芬
如果两个应用域名一样的话,你只要把session存在数据库就行了。客户端cookie都是公用的,主要是cookie里面的session id。当是如果域名不一样,你可以用jsonp来实现,因为jsonp是可以跨域的。另外,如果不想用jsonp,你可以通过同步的方式,如果用户没有登录,之后跳转到另一个应该用里面登录入口,之后再返回当前链接,自己在两个应该这间做好相应处理之后就登录了,这个你如果你没有处理好,就会有安全问题。
0
IceInto
IceInto

建议你看下 ucenter 源码 和 新浪文本在退出、登陆时候的页面源码,也都是类似原理。

登陆同时访问和记录。

0
湘中朱生
湘中朱生

单点登录有两种理解:

第一种:集成系统中,用户只需一次登录即可全场漫游

第二种:系统只允许唯一的用户在登录使用系统

第一种可以通过用户数据共享来实现,第二种嘛,腾讯QQ就是一个很好的例子,每次登录的时候会有一个专门的参数来检测当前用户是否已经登录系统,具体怎么实现还要结合具体的业务需求

0
CoserSeu
CoserSeu

看你要不要跨域了,如果不需要跨域的话,靠cookie就可以解决。

如果要跨域,就必须要加入专门用于验证的东东,就是传说中的“token”,这个token是一个抽象的词语,它是作为证明用户已经登录的证据。当用户第一次登录,服务器传给客户端一个token,而客户端要访问你的其他系统,就需要提供该token,若没有,则让它重新登录。至于token的形态,你可以加密后放在url中,作为一个url参数。要实现单点登录的解决方案有很多,涉及到系统架构,有专门做一个独立的登陆系统的,也有直接在原系统登录模块上添加的,各种东西很多。

0
烂橘子
烂橘子
http://baike.baidu.com/view/190743.htm
返回顶部
顶部