比如我登陆了百度账号,进贴吧时发现已经登录了,进糯米发现也自动登录了
再比如,我登陆淘宝,在打开支付宝,发现支付宝也登陆,进天猫发现天猫也登陆,退出天猫发现淘宝也退出了(但是支付宝好像不收影响)
还有登陆美团,再进美团外卖发现也登陆这个是怎么做的呢
感觉他们的账号是通用的,比如网易通行证,百度通行证,应用间登陆session 可以共享吗,tieba,是二级域名啊,PHPSESSION的cookie不能跨域吧,即使统一域名可以,那nuomi.com怎么能呢,真是邪门了。
记得以前Discuz有个UCenter Home是不是就是干这个啊?
这个知识点叫什么,多点登陆?多端登陆?session共享?
具体怎么做呢,这样的话SESSION应该不会存在文件里吧,用redis还是memcached,还是别的,都会有什么问题呢,能实现多端登陆,并且随时监控登陆设备,像qq安全中心那样吗?
目前我项目中就是用文件存的session,多个应用也是使用的同一账号,相当于通行证一样的模式,但是登陆时不同应用使用不同的session前缀,所以每次要分别登陆,都是存在一台服务器上面的,还经常发生session丢失,莫名其妙的自动退出问题,也没有办法监控得到用户登录情况,感觉不妙。
求大神指点一下,让我知道一下关键的知识点,我再去找资料?
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
如果是同一个域名的,其实设置COOKIE就可以实现了,不同域名的话就是上面讲的SSO,单点登录,这个应该没有共享session,只是共享了登录状态。。负载均衡这种才会共享session
1.概述
session多端登录,就是保持session的一致性。由于session是唯一的,所以要保持session的唯一性,可以将session存放在一个地方,到时候大家取的时候,统一从一个地方取session,这样就保持了session的一致。
2.实现session的方法
其实就是将session存放在一个地方,大家存取就好了。至于其他都是附加的,原理就是酱紫。一般实现的方法有:
1)nfs文件共享系统,让不同项目访问同一个共享的文件。
2)存放在mysql。
3)存放在内存数据库,比如redis,memcache等。
4)基于cookie的共享。这个需要域名统一。
3.关于redis的session共享,其他类似
1)php.ini里面存放得有session的存放地址,可以将session的地址改成redis存放session的地址。session.save_path
但是一般这种服务器端会有访问控制。所以可以参考第二种方法
2)重写session,通过php代码更改session的存放路径什么的。php有相关的session重写的类。
谢邀
用单点登陆SSO 可以几个子站网站和主站用同一套登陆系统 例如CSDN 站长中国 就是这样干的
把登陆信息和token存在redis就可以 需要考虑redis命中率问题
也就是SSO,单点登录
用cas单点登录开源框架,支持php,.net,java
单点登录
SSO