php同步登录,使用ucenter实现多站点同步登录的讲解_钱康来的博客-程序员宅基地

技术标签: php同步登录  

做Web开发经常会要求实现多站点同步登录的情况,对于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.jb51.net登录后, 跳到www.jb51.net同样显示登录。

6.应用程序与uc server的会话结束。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30344519/article/details/115513838

智能推荐

vertical-align之见_weixin_30299539的博客-程序员宅基地

ertical-align 英文翻译为垂直对齐 ,常用来应用于table 表格中文字的垂直居中;脱离表格后不常用;有朋友问起;故总结记之:开局一张图,下来全靠编这是一个简单的四线表格,小学时用来来练习英文的,在网页中我们将每条线命名 顶线 中线 基线 底线 ;内联元素默认与基线对齐!!!vertical-align 仅作用与内联元素!!!所以我们看看案例...

Hive 配置详细 说明_Michael_Shentu的博客-程序员宅基地

hive的配置:hive.ddl.output.format:hive的ddl语句的输出格式,默认是text,纯文本,还有json格式,这个是0.90以后才出的新配置;hive.exec.script.wrapper:hive调用脚本时的包装器,默认是null,如果设置为python的话,那么在做脚本调用操作时语句会变为python ,null的话就是直接执行<script c

目前已完成linux适配的软件,WPS Linux版与国产统一操作系统UOS完成适配:符合国人使用习惯..._住在古墓里的人的博客-程序员宅基地

据统信软件官方消息,近日,WPS Office 2020 for Linux专业版办公软件与统一操作系统UOS完成适配工作,对比2016版本,2020版本总体性能有大幅提升。这不仅体现在整体的启动速度上,文字、表格和演示三个组件基础功能的性能同样得到了整体优化。此外,WPS Office 2020 for Linux重新设计了图表引擎,让图表的展现更加美观和柔和;丰富的2D、3D效果,也让文档元素...

程序员除了会CRUD之外,还应该知道什么叫CQRS!_风平浪静如码的博客-程序员宅基地

今天主要跟大家分享一下什么是 CQRS,以及在项目中如何去使用。CRUD系统我们平常最熟悉的就是三层架构,通常都是通过数据访问层来修改或者查询数据,一般修改和查询使用的是相同的实体。然后通过业务层来处理业务逻辑,将处理结果封装成DTO对象返回给控制层,再通过前端渲染。反之亦然。这里基本上是围绕关系数据库构建而成的“创建、读取、更新、删除”系统(即CRUD系统),此类系统在一些业务逻辑简单的...

【安全资讯】工信部:智能网联汽车不得泄露敏感信息/需境内存储_翼安研习社的博客-程序员宅基地

来源|腾讯网发布时间|2021-04-07易车讯 日前,从工业和信息化部获悉,为加强道路机动车辆生产企业及产品准入管理,推动智能网联汽车产业健康有序发展,工信部装备工业一司组织编制了《智能网联汽车生产企业及产品准入管理指南(试行)》(征求意见稿)。意见提到,智能网联汽车生产企业应依法收集、使用和保护个人信息,实施数据分类分级管理,制定重要数据目录,不得泄露涉及国家安全的敏感信息。在中华人民共和国境内运营中收集和产生的个人信息和重要数据应当按照有关规定在境内存储。因业务需要,确需向境外提供的,.

v4l2 预备知识 USB摄像头应用程序_oLinXi1234567的博客-程序员宅基地

V4L2是V4L的升级版本,linux下视频设备程序提供了一套接口规范。常用的结构体在内核目录include/linux/videodev2.h中定义struct v4l2_requestbuffers  //申请帧缓冲,对应命令VIDIOC_REQBUFSstruct v4l2_capability      //视频设备的功能,对应命令VIDIOC_QUERYCAPst

随便推点

多少岁,转行软件测试晚不晚(二)_weixin_48048408的博客-程序员宅基地

一、如何转行软件测试?转行三步走。第一步,学习到相关知识;第二步,优化简历;第三步,完美面试。1、学习到相关知识途径:自学或上培训班自学优点:省钱缺点:战线长、容易中断、遇到不懂的比较耗时,上培训班。优点:课程安排系统、有老师指导、战线短、时间自由。缺点:有的机构昂贵,2、优化简历简历决定了你有没有面试的机会。遇到过一些朋友,不屑优化自己的简历,觉得不诚实或者觉得自己不太懂没必要去尝试。“有的人就简历写的好,面试了根本不是那回事,可是如果简历写的不好,那连面试的机会都没有”,这是

Echarts渐变色的设置_怡景轩的博客-程序员宅基地

series: [{ name: '已完成', type: 'bar', barWidth: 20, stack: '广告', itemStyle: { normal: { barBorderRadius: 5, color: ...

计算机进安全模式启动修复,win7电脑故障怎么进入安全模式修复_weixin_39832727的博客-程序员宅基地

如果Win7系统电脑硬件驱动或网络等出了问题,可以进入安全模式进行修复,但是很多朋友都不知win7电脑故障怎么进入安全模式修复,下面就来分享一下win7电脑故障进入安全模式的详细方法吧。win7电脑故障怎么进入安全模式修复方法一、开机按F8键进入我们在重启或者电脑开机的时候,在进入Windows系统启动画面之前按下F8键,会出现系统多操作启动菜单了,有三个版本的安全模式可以选择,大家视自己需要选择...

U盘 出现RD盘符 容量修复_weixin_34209406的博客-程序员宅基地

前几天,用PowerISO制作了一个U盘启动,制作完之后,一看U盘,怎么只剩下几M了,原本我的U盘是8G的,怎么会用了那么多的容量-_-!!!!,后来我就把U盘给格式化,结果盘符都出不来了,插到别的电脑U盘也显示不出来了。后来自己鼓捣以下,安装个硬盘分区工具DiskGenius,在DiskGenius中看到U盘的盘符是RD1,我也不知道是神马东东来的,格式化还会出错,然后就乱点那些神马磁盘修复...

对友元的理解_被遗忘的梦想的博客-程序员宅基地

友元:   在类里面有公有成员,私有成员,保护成员。公有成员:是既可以在类外访问也可以在类里访问私有成员:需要该类的成员函数才能对私有成员的访问  但如果要通过一个函数去访问私有成员,但这个函数不属于该类里面的函数。这就是&lt;友元&gt;起到作用C++不跟C一样,在C里面定义的数据,没有访问规则,可以直接去访问它,但是在C++这门语言里面定义了各种访问权限规则,什么时候可以去访问这个数据,什么时候不能去访问这个数据这些都有规定,这样使得数据更安全,不容易被破坏,这就是C++其中的封装特性而

HAUTOJ 1266 最大子段和_雨羊的博客-程序员宅基地

题目链接:HAUTOJ 1266方法一:根据最大连续子列和问题可以改编成每次加两个数,注意因为奇数长度需要有两个开始项,从第一个开始(奇数项开始),和从第二项开始(偶数项开始),还需要注意加a[i+1]时更新sum,即把a[i+2]作为第一项方法二:加一个数列b,第一二项分别为a的一二项,从第三项开始b[i]=b[i-2]+a[i-1]+a[i],b[i]表示从第一项到当前项的奇数长度的和

推荐文章

热门文章

相关标签