来源:自学PHP网 时间:2014-12-02 12:01 作者: 阅读:次
[导读] UCenter同步流程:前提是需要在Ucenter上面添加好需要同步登录的应用,至少2个才能看到效果,并且显示,通信成功 假如我添加了A,B两个应用网站1 首先当A站登录时,登录成功后,处理实质是...
UCenter单点登录/同步登录/同步登出实例UCenter同步流程:前提是需要在Ucenter上面添加好需要同步登录的应用,至少2个才能看到效果,并且显示,通信成功. 假如我添加了A,B两个应用网站 1.首先当A站登录时,登录成功后,处理实质是调用uc_client提供的方法向UCenter获取2个脚本代码(A、B站),这两个脚本代码就是访问A、B两个站的api/uc.php中的登录方法,可以在方法中做登录所需session和cookie操作。 2.当登出时,操作和登录是一样的,都需要向UCenter获取2个脚本代码,目的是用来触发A、B站的api/uc.php中登出方法。 重点:当获取到2个脚本代码后一定需要在输出让浏览器运行,否则将不会实现同步登录登出. 建议:开发调试的时候,借助浏览器监控来查看返回输出值,我当时用的是chrome F12 后 打开Network标签. 实例详解:所谓单点登录,无非就是几个站点共用一个用户中心,实现同步登陆,同步退出. 服务器端:Loog SSO 客服端:ucenter,说实话dz商业化确实让php发展了不少. ucenter 基本原理:其实最终还是 用户去登录 只是采用了ajax 用户不会发现,我们来看看和ucenter的具体程序,config.php代码如下:
配置文件写好后,到ucenter后台里面添加一个应用记住是自定义的‘UC_KEY’必须和config.php里面相同,接下来就是你的主目录下的api/uc.php文件. 例如应用url 填写为 http://www.phpfensi.com 那么我就有对应的http://www.phpfensi.com/api/uc.php 如果要自定义的话,请确认你的对应关系,最重要的就是api/uc.php,同步登录就是访问各个应用的uc.php 关于这个dz已经给了demo,PHP代码如下:
这些参数都是向别的应用提供的功能开关,最后关于 自己的页面如何同步登录 别的应用,PHP代码如下: include_once ’../config.php’; include_once ’../uc_client/client.php’; 你的验证登录部分,代码如下:
只用php,康盛的解决方案是比较不错的了,而且利用了p3p头实现了 不同域名 单点登录,缺点就是采用ajax 客服端请求,如果有10个以上应用,登录速度就慢下来了,这时候就可以考虑下七夜的Loong SSO. |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com