PHP建站技术分享-从入门到精通_各类知识收集PHP建站技术分享-从入门到精通_各类知识收集PHP建站技术分享-从入门到精通_各类知识收集

QQ:420220301 微信/手机:150-3210-7690
当前位置:首页 > CMS教程 > Fastadmin

Ucenter插件实现同步注册登录的正确方法!

管理员 2024-12-14
Fastadmin
70

看到很多朋友都在问相关的问题,有的通信失败,有的通信成功但不能同步会员登陆注册,有的不知道如何设置插件等等,下面给大家分享一下我的使用心得。
准备工作:
1.在你的Fastadmin后台安装Ucenter插件;

2.安装你的Ucenter服务端和DISCUZ论坛(你也可以单独安装Ucenter服务端,这里为了方便介绍同步注册登录的方法,我就默认安装DISCUZ和Ucenter);
注意
Fastadmin官方有一个修改版Ucenter,是由于默认的会员注册需要填写手机号字段,但是官方修改版我安装之后始终有些问题,所以在这里就使用DISCUZ版本的Ucenter程序.

配置参数:
1.登录你的Ucenter服务端,然后再应用管理中添加应用
1.jpg
通信URL为 “你的站点URL/addons/ucenter/index/api”
开启同步和接收通知全部选择“是”。
然后提交。
接下来把生成的Ucenter配置信息全选复制,接着找到Fa的程序文件->打开Ucenter插件目录,编辑uc.php文件,然后将刚才复制的配置信息粘贴到对用位置。

保存->刷新。然后返回Ucenter服务端->应用管理,可以看到你的Fa程序通信成功
2.jpg
如果通信失败,请检查你填写的URL地址是否正确。

同步注册登录:
由于我使用的是DISCUZ官方版Ucenter服务端,所以我需要将Fa程序的用户注册中的提交手机号这一项暂时注释掉。

打开 /application/index/controller/User.php 文件

1.添加如下代码引入Uc

use appcommonlibraryAuth;use addonsucenterlibraryUc;use thinkLoader;

2.在public function _initialize()中添加如下代码导入Uc常量

Loader::import('uc', ADDON_PATH . 'ucenter');

3.同步注册->在会员注册public function register() 中找到

if ($this->auth->register($username, $password, $mobile,$email)) {$this->success(__('Sign up successful'), $url ? $url : url('user/index'));}

这段代码,修改为(由于Uenter版本问题此处去掉了$mobile参数)

if ($this->auth->register($username, $password, $email)) {     $synchtml = '';     if (defined('UC_STATUS') && UC_STATUS) {          $uc = new addonsucenterlibraryclientClient();          $ucuid = $uc->uc_user_register($username, $password, $email);          $synchtml = $uc->uc_user_synlogin($ucuid);                   }          $this->success(__('Sign up successful') .$synchtml, $url ? $url : url('user/index'));

4.同步登录->在会员登录public function login() 中找到

if ($this->auth->login($account, $password)) {$this->success(__('Logged in successful') , $url ? $url : url('user/index'));}

修改为

if ($this->auth->login($account, $password)) {    $synchtml = '';       if (defined('UC_STATUS') && UC_STATUS) {            $uc = new addonsucenterlibraryclientClient();            $synchtml = $uc->uc_user_synlogin($this->auth->id);        }               $this->success(__('Logged in successful') . $synchtml, $url ? $url : url('user/index'));

5.同步注销->在注销登录public function logout() 中找到

$this->auth->logout();$this->success(__('Logout successful'), url('user/index'));

修改为

$this->auth->logout(); $synchtml = '';   if (defined('UC_STATUS') && UC_STATUS) {        $uc = new addonsucenterlibraryclientClient();        $synchtml = $uc->uc_user_synlogout();        } $this->success(__('Logout successful') . $synchtml, url('user/index'));

然后保存->刷新,现在就实现了同步登录、同步注册、同步注销功能,由于修改了程序文件,有的机器可能需要多刷新几次。
如果有错误的地方或新的方法欢迎小伙伴们留言。
在我的站点中还写了实现这个的流程说明,欢迎前往点赞



希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, LeCMS, ClassCMS, Fastadmin, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。

相关推荐

扫码关注

qrcode

QQ交谈

回顶部