首页 后端开发 php教程 UCenter单点登录/同步登录/同步登出实例_PHP教程

UCenter单点登录/同步登录/同步登出实例_PHP教程

Jul 13, 2016 am 10:48 AM
会员 同步 实例 朋友 登出 登录

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  [PHP代码]:

 代码如下 复制代码

define(‘UC_CONNECT’, ’mysql’); // 连接 UCenter 的方式: mysql/NULL, 默认为空时为fscoketopen()

//数据库相关 (mysql 连接时, 并且没有设置 UC_DBLINK 时, 需要配置以下变量)
define(‘UC_DBHOST’, ’localhost’); // UCenter 数据库主机
define(‘UC_DBUSER’, ’root’); // UCenter 数据库用户名
define(‘UC_DBPW’, ’123′); // UCenter 数据库密码
define(‘UC_DBNAME’, ’ucenter’); // UCenter 数据库名称
define(‘UC_DBCHARSET’, ’utf8′); // UCenter 数据库字符集
define(‘UC_DBTABLEPRE’, ’ucenter.uc_’); // UCenter 数据库表前缀
define(‘UC_KEY’, ’safefewfef’); // 与 UCenter 的通信密钥, 要与 UCenter 保持一致
define(‘UC_API’, ’http://www.bKjia.c0m/uc’);// UCenter 的 URL 地址, 在调用头像时依赖此常量
define(‘UC_CHARSET’, ’utf-8′); // UCenter 的字符集
define(‘UC_IP’, ’127.0.0.1′); // UCenter 的 IP, 当 UC_CONNECT 为非 mysql 方式时, 并且当前应用服务器解析域名有问题时, 请设置此值
define(‘UC_APPID’, ’3′); // 对应到ucenter当前应用的 ID
define(‘UCDOMAIN’,'http://www.bKjia.c0m/’); // 域名设置

//一些 Cookie 设置
$_UC = array();
$_UC["cookiedomain"] = ”; // cookie 作用域
$_UC["cookiepath"] = ’/'; // cookie 作用路径
$_UC["cookiepre"] = ’uc_’; // cookie 前缀
$_UC["cookietime"] = ’31536000′; //cookie 作用时间

配置文件写好后,到ucenter后台里面添加一个应用记住是自定义的 ‘UC_KEY’必须和config.php里面相同

接下来就是你的主目录下的api/uc.php

例如应用url 填写为 http://www.bKjia.c0m 那么我就有对应的http://www.bKjia.c0m/api/uc.php

如果要自定义的话 请确认你的对应关系。

最重要的就是api/uc.php ,同步登录就是访问各个应用的uc.php 关于这个dz已经给了demo

[PHP代码]:

 代码如下 复制代码
define(‘API_DELETEUSER’,0); //note 用户删除 API 接口开关
define(‘API_RENAMEUSER’, 0); //note 用户改名 API 接口开关
define(‘API_GETTAG’, 0); //note 获取标签 API 接口开关
define(‘API_SYNLOGIN’, 1); //note 同步登录 API 接口开关
define(‘API_SYNLOGOUT’, 1); //note 同步登出 API 接口开关
define(‘API_UPDATEPW’, 0); //note 更改用户密码 开关
define(‘API_UPDATEBADWORDS’, 0); //note 更新关键字列表 开关
define(‘API_UPDATEHOSTS’, 0); //note 更新域名解析缓存 开关
define(‘API_UPDATEAPPS’, 0); //note 更新应用列表 开关
define(‘API_UPDATECLIENT’, 0); //note 更新客户端缓存 开关
define(‘API_UPDATECREDIT’, 0); //note 更新用户积分 开关
define(‘API_GETCREDITSETTINGS’, 0); //note 向 UCenter 提供积分设置 开关
define(‘API_GETCREDIT’,0); //note 获取用户的某项积分 开关
define(‘API_UPDATECREDITSETTINGS’, 0); //note 更新应用积分设置 开关

这些参数都是向别的应用提供的功能开关

最后关于 自己的页面如何同步登录 别的应用

[PHP代码]:

 代码如下 复制代码

include_once ’../config.php’;
include_once ’../uc_client/client.php’;

你的验证登录部分

 代码如下 复制代码
list($uid, $username, $password) = uc_user_login($_POST[username], $_POST[password]);//进入ucenter验证
$ucsynlogin = uc_user_synlogin($uid);//同步登录
echo $ucsynlogin;//因为是ajax 要echo

只用php,康盛的解决方案是比较不错的了,而且利用了p3p头实现了 不同域名 单点登录

缺点就是采用ajax 客服端请求 ,如果有10个以上应用,登录速度就慢下来了,这时候就可以考虑下七夜的Loong SSO

了解了以上的东东 php的CMS和ucenter通信 就不难了。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/632783.htmlTechArticleucenter我想有不少朋友会用到了,就是一个会员同步功能了,我们经常会把几个系统或不同论坛整合起来,下面我来给各位同学介绍一下。...
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

微信读书会员怎么买便宜呢?分享微信读书购买会员最优惠方法! 微信读书会员怎么买便宜呢?分享微信读书购买会员最优惠方法! Mar 16, 2024 am 08:22 AM

一、微信读书会员怎么买便宜呢?分享微信读书购买会员最优惠方法!1.打开微信读书APP,在阅读福利专场里面有个阅读挑战赛,参加阅读挑战。2.参加支付1元,阅读7天,时长>7小时,获得4天付费会员卡+4书币,一年可参与大约52周,如每次都参加共需要花费52元,总共可获得208天付费会员卡+208书币。3.参加支付3元,阅读14天,时长>14小时,获得10天付费会员卡+10书币,一年可参与大约26次,如每次都参加共需要花费78元,总共可获得260天付费会员卡+260书币。4.参加支付4元,阅读21天

小红书怎么登录以前的账号?它换绑后原来号丢失了怎么办? 小红书怎么登录以前的账号?它换绑后原来号丢失了怎么办? Mar 21, 2024 pm 09:41 PM

随着社交媒体的迅速发展,小红书已经成为许多年轻人分享生活、探索新产品的热门平台。在使用过程中,有时用户可能会遇到登录以前账号的困难。本文将详细探讨如何解决小红书登录旧账号的问题,以及如何应对更换绑定后可能遗失原账号的情况。一、小红书怎么登录以前的账号?1.找回密码登录如果长时间未登录小红书,可能导致账号被系统回收。为了恢复访问权限,你可以尝试通过找回密码的方式重新登录账号。操作步骤如下:(1)打开小红书App或官网,点击“登录”按钮。(2)选择“找回密码”。(3)输入你注册账号时所使用的手机号码

wallpaperengine登录别的号后下载别人的壁纸怎么办 wallpaperengine登录别的号后下载别人的壁纸怎么办 Mar 19, 2024 pm 02:00 PM

当你在自己电脑上登过别人steam账号之后,恰巧这个别人的账号也有wallpaper软件,切换回自己账号之后steam就会自动下载别人账号订阅的壁纸,用户可以通过关闭steam云同步解决。wallpaperengine登录别的号后下载别人的壁纸怎么办1、登陆你自己的steam账号,在设置里面找到云同步,关闭steam云同步。2、登陆你之前登陆的别人的steam账号,打开wallpaper创意工坊,找到订阅内容,然后取消全部订阅。(以后防止找不到壁纸,可以先收藏再取消订阅)3、切换回自己的stea

您同步的文件夹中的一个或多个项目不匹配Outlook错误 您同步的文件夹中的一个或多个项目不匹配Outlook错误 Mar 18, 2024 am 09:46 AM

当您在您的同步文件夹中发现一个或多个项目与Outlook中的错误消息不匹配时,这可能是因为您更新或取消了会议项目。这种情况下,您会看到一条错误消息,提示您的本地数据版本与远程副本存在冲突。这种情况通常发生在Outlook桌面应用程序中。您同步的文件夹中的一个或多个项目不匹配。若要解决冲突,请打开这些项目,然后重试此操作。修复同步的文件夹中的一个或多个项目不匹配Outlook错误在Outlook桌面版中,当本地日历项与服务器副本发生冲突时,可能会遇到问题。不过,幸运的是,有一些简单的方法可以帮助您

如何免费领取qq音乐会员?免费领取QQ音乐会员教程 如何免费领取qq音乐会员?免费领取QQ音乐会员教程 Mar 13, 2024 pm 08:37 PM

  qq音乐是很多用户们都在使用的一款听歌软件,在这里有一些歌曲是需要用户们拥有会员才能够后下载和播放的,那么如何免费领取qq音乐会员?下面就让本站来为用户们来仔细的介绍一下免费领取QQ音乐会员教程吧。  免费领取QQ音乐会员教程  1、首先我们打开QQ音乐。  2、进入我的主页,点击右上角的三条横线。  3、点击开启这里的免费听歌模式。  4、这里会出现一个15秒的广告,我们只需要等待广告结束,就可以获得三十分钟的会员体验。  体验时间可以叠加。  5、看完后就获得了会员。  领取1天QQ音乐

酷狗音乐APP会员自动续费取消方法说明 酷狗音乐APP会员自动续费取消方法说明 Mar 19, 2024 pm 07:28 PM

酷狗音乐APP如何取消会员自动续费?有很多用户办理了酷狗音乐的VIP自动续费服务,后面想要取消此服务,但又不清楚在哪里能够取消掉,下面小编带来酷狗音乐取消自动续费教程,希望对大家有所帮助。在酷狗音乐APP中取消自动续费很简单:只需进入会员中心,找到音乐包/豪华VIP选项,选择已开通自动续费,然后点击关闭续费即可。2.微信:下图所示,前往支付页面,点击右上角三个小点,选择扣费服务,点击酷狗音乐关闭服务;3.支付宝:前往设置页面,选择支付设置,选择免密支付/自动扣费,最后选择酷狗音乐解约。

知乎app会员怎么取消自动续费 知乎app会员取消自动续费的方法 知乎app会员怎么取消自动续费 知乎app会员取消自动续费的方法 Mar 13, 2024 am 11:04 AM

  知乎app会员怎么取消自动续费?知乎app手机一款非常实用的手机软件,这个软件上面有非常多的功能,每个功能都会给用户带来不一样的感觉。这个软件上面有一些内容是需要用户开通会员就可以进行阅读了。这个软件上面的会员不贵,而且连续包月的会员也会比较便宜了。有些玩家想知道要怎么取消自动续费,下面小编整理了取消自动续费的方法供大家参考。知乎app会员取消自动续费的方法知乎会员可以选择四种续费方式,包括苹果支付、微信支付、支付宝支付和百度支付。对于选择百度支付的用户,可以通过微信或支付宝支付来管理续费。

哔哩哔哩会员怎么免费领取?b站大会员免费领 哔哩哔哩会员怎么免费领取?b站大会员免费领 Mar 15, 2024 pm 05:00 PM

  哔哩哔哩是拥有丰富资源的视频播放平台,包含了舞蹈区、鬼畜区、美食区、动物区等等。但是现在在B站上看视频很多时候都需要会员,不想花钱的话可以获取B站会员吗?小编这里就给大家带来b站大会员免费领取方法,希望可以帮到大家。  哔哩哔哩会员免费领取方法:  打开哔哩哔哩,点击“我的“。  在”创作中心“区域点击”创作首页“图标。  进入创作中心后,点击”任务中心“。  进入任务中心后,看相应的任务并完成,可以获得积

See all articles