php同步登陆方案,ucenter同步登陆机制_PHP教程
做php开发的朋友大都知道有个ucenter可以用来实现多个站点同时登陆同时退出,用户同步的功能。下面作者将要就ucenter是如何实现同步登陆的和大家做一下分享。
首先站点都要引入一个uc_client这样一个客户端,以登陆为例,登陆时首先会调用一个外部函数,uc_client/client.php下的uc_user_login检查是否存在此用户,如果正确则继续执行登陆代码,检测此用户过程:通过用户是以什么方式连的uc(mysql还是http post)然后去相应地用不同函数来检测用户,检测完成后实现本地登陆,代码自己写,然后让其他应用程序也登陆,此时调用外部函数uc_user_synlogin,过程如下:
Uc_user_synlogin调用uc_api_post来实现是要做哪个模块,比如现在就是user模块,传的参数是user_id,具体这是怎么实现的没再仔细看,总之是将数据发送到uc_api即你的ucenter地址的index.php,同时附一些参数,根据这些参数然后再去读里面所有可通信的应用程序,让他们也实现登陆,这是其他程序的事儿了。
通知其他应用程序主要是通过ucenter,去向各应用程序下的api/uc.php发送一些数据,这些数据由uc.php接到请求然后去执行相应的登陆操作等。
这是我写的,基本上和他的一样,本想把具体到每个函数都写的可今天有点累了,呵呵,自己找吧还是很简单的。
1.从用户xxx在某一应用程序的login.php,输入用户名,密码讲起。先用uc_user_login函数到uc server验证此用户和密码,如正确,则写入session,写入cookies,并更新应用程序会员表中的登录ip,登录时间。用户感觉不到这个过程。
2.然后通过uc_user_synlogin通知uc server 用户xxx登录成功,这个过程可能使用ajax,用户感觉不到通知过程。
3.uc server收到这个消息后,马上命令手下,把xxx登录的消息,像令牌环一样,发给所有愿意接收(后台中那个是否开启同步登录)这个消息的其它应用程序。其实就是带参数访问一下各应用程序的uc.php,用户感觉不到这个过程。
4.各应用程序靠api下的uc.php来接收uc server发来的消息,并对uc server言听计从,让干什么就干什么。现在,收到让xxx用户在你的程序中登录的命令,马上执行。并写本应用程序的session,并且使用p3p, 写入相同域或不同域的cookies. 用户感觉不到这个过程。
5.最后所有和uc整合的程序,xxx均登录成功。用户从www.phpernote.com/bbs登录后, 跳到www.phpernote.com/同样显示登录。因为bbs 和news系统在后台均已登录。
6.应用程序与uc server的会话结束。
您可能感兴趣的文章如何去除dedeCMS后台登陆页面的广告
php Output Control 深入理解 ob_flush 和 flush 的区别
网站上多种url都能访问同样的内容是件危险的事
http请求中同步请求和异步请求的区别
js setInterval和setTimeout用法分析
CuteFTP连接ftp服务器时弹出“遇到无效的参数”错误的解决办法
PHP中跳出多重循环使用break,continue,goto,return,exit的用法和区别
mysql中tinyint、smallint、int和bigint类型的用法区别
http://www.bkjia.com/PHPjc/764139.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/764139.htmlTechArticle做php开发的朋友大都知道有个ucenter可以用来实现多个站点同时登陆同时退出,用户同步的功能。下面作者将要就ucenter是如何实现同步登陆...
php同步登陆方案,ucenter同步登陆机制_PHP教程相关推荐
- IM即时通讯-4-写扩散下的同步协议方案
1. 背景信息 上篇提到了, IM协议层是主要解决会话和消息的同步, 在实现上, 以推模式为主, 拉模式为辅. 本文Agenda: (How)如何同步 (How)如何设计同步位点 (How)如何设计 ...
- linux100台服务器免密,多台Linux服务器之间互相免密登陆,脚本同步免密
多台Linux服务器之间互相免密登陆,脚本同步免密 环境: 三台Linux 服务器 IP Release ...
- 帧同步与状态同步:方案比较
状态同步:大型的MMOARPG ,比如魔兽世界 帧同步:网络条件好的局域网,比如魔兽争霸,优化过的MMRPG, 比如王者荣耀 相比之下状态同步适用型更广,特别适合复杂度高,延迟要求高,玩家多的游戏,例 ...
- php同步登录,使用ucenter实现多站点同步登录的讲解
做Web开发经常会要求实现多站点同步登录的情况,对于PHP开发来说,我们可以使用ucenter来实现多个站点同时登陆同时退出,用户同步的功能.下面我们一起看一下ucenter是如何实现同步登陆的. 首 ...
- php ucenter原理,深入挖掘Discuz Ucenter同步登录过程原理分析
深入挖掘discuz ucenter同步登录过程原理分析,哈哈,其实纯属标题党,主要就是做了一个思路分析而已. Discuz是Ucenter的一个应用. Ucenter包含Server和Client, ...
- JavaScript学习笔记(五)---cookie、Proxy、服务器、PHP语言、http协议、同步异步、事件轮循机制、ajax编写、接口
JavaScript学习笔记(五)---cookie.Proxy.服务器.PHP语言.http协议.同步异步.事件轮循机制.ajax编写.接口 1.cookie 1.1cookie概念 1.2cook ...
- 浅谈RTS游戏网络同步:3种同步机制模式的实现
RTS游戏有很多,可能大家比较熟悉的有Warcraft III (dota)和 StarCraft,早期西木的沙丘,红色警戒更是rts游戏的鼻祖,带给我们无限的欢乐和回忆.还有当下比较流行lol与do ...
- mysql 与 es 数据同步常见方案
mysql 与 es 数据同步常见方案 说明 @author JellyfishMIX - github / blog.jellyfishmix.com LICENSE GPL-2.0 问题背景 最近 ...
- Linux与Windows之间实现文件实时同步的方案
记linux与Windows之间实现文件实时同步的方案 近日,数据分析部提了个需求说要让一台linux的机器上的文件同步到一台Windows机器的某个目录下,由于本姑娘从来没有碰到过这种问题,于是上网 ...
最新文章
- AI录音笔一战成名!搜狗以语言AI为核心重点突破多点开花
- R语言as.numeric函数将因子变量(factor)转化为数值变量(Numeric)
- android6.0 sd卡卸载api,android6.0 用户关掉sd卡读取权限的情况下, 还能做到手机缓存么?...
- Numpy数据分析数值范围调整、计算
- 域名行业将带来高达98亿美元的巨大商机
- linux连同目录一起删除,linux中文件的常用操作
- MybatisPlus手写sql分页
- Unity 高级程序员应该具备怎样的能力?要怎样成长为 Unity 高级程序员?
- 采用系统API实现的二维码扫描、识别和生成
- 大写字母组成的等腰三角形
- 双活数据中心解决方案
- python distribute包管理工具安装AttributeError错误
- Android 自定义软键盘实现 数字九宫格
- 制作美联英语在线VIP页面----特色服务模块
- php图片上传功能,实时显示上传的图片
- 什么是dB、dBm、dBc?
- 强化学习—— 离散与连续动作空间(随机策略梯度与确定策略梯度)
- window子对象的详细介绍 _@jie
- 如何实现学生评语的导入
- 机器学习-泛化能力笔记