整合 ucenter 注册自动激活

多程序整合 UCenter,在新用户首次注册后是没有同步登录到其它程序的,也就是说用户得在其它程序用密码再登录一次,以后才能同步登录,还有就是用户不是在 Discuz 程序注册的话,在 Discuz 登录时得手动激活,这些都导致用户体验很不好,不过解决方法很简单~
修改各个程序目录下的 ./uc_client/model/user.php 文件,大概在 138 行处的 function add_user 函数里添加代码:

function add_user($username, $password, $email, $uid = 0, $questionid = ‘‘, $answer = ‘‘, $regip = ‘‘) {
	$regip = empty($regip) ? $this->base->onlineip : $regip;
	$salt = substr(uniqid(rand()), -6);
	$password = md5(md5($password).$salt);
	$sqladd = $uid ? "uid=‘".intval($uid)."‘," : ‘‘;
	$sqladd .= $questionid > 0 ? " secques=‘".$this->quescrypt($questionid, $answer)."‘," : " secques=‘‘,";
	$this->db->query("INSERT INTO ".UC_DBTABLEPRE."members SET $sqladd username=‘$username‘, password=‘$password‘, email=‘$email‘, regip=‘$regip‘, regdate=‘".$this->base->time."‘, salt=‘$salt‘");
	$uid = $this->db->insert_id();
	$this->db->query("INSERT INTO ".UC_DBTABLEPRE."memberfields SET uid=‘$uid‘");
	// BEGIN
	$this->db->query("INSERT INTO ".UC_DBTABLEPRE."common_member SET uid=‘$uid‘, username=‘$username‘, password=‘$password‘, email=‘$email‘, adminid=‘0‘, groupid=‘10‘, regdate=‘".$this->base->time."‘, credits=‘0‘, timeoffset=‘9999‘");
	$this->db->query("INSERT INTO ".UC_DBTABLEPRE."common_member_status SET uid=‘$uid‘, regip=‘$regip‘, lastip=‘$regip‘, lastvisit=‘".$this->base->time."‘, lastactivity=‘".$this->base->time."‘, lastpost=‘0‘, lastsendmail=‘0‘");
	$this->db->query("INSERT INTO ".UC_DBTABLEPRE."common_member_profile SET uid=‘$uid‘");
	$this->db->query("INSERT INTO ".UC_DBTABLEPRE."common_member_field_forum SET uid=‘$uid‘");
	$this->db->query("INSERT INTO ".UC_DBTABLEPRE."common_member_field_home SET uid=‘$uid‘");
	$this->db->query("INSERT INTO ".UC_DBTABLEPRE."common_member_count SET uid=‘$uid‘, extcredits1=‘0‘, extcredits2=‘0‘, extcredits3=‘0‘, extcredits4=‘0‘, extcredits5=‘0‘, extcredits6=‘0‘, extcredits7=‘0‘, extcredits8=‘0‘");
	// END
	return $uid;
}
时间: 2024-07-29 08:59:19

整合 ucenter 注册自动激活的相关文章

解决整合 UCenter 首次注册同步登录与自动激活

多程序整合 UCenter,在新用户首次注册后是没有同步登录到其它程序的,也就是说用户得在其它程序用密码再登录一次,以后才能同步登录,还有就是用户不是在 Discuz 程序注册的话,在 Discuz 登录时得手动激活,这些都导致用户体验很不好,不过解决方法很简单~修改各个程序目录下的 ./uc_client/model/user.php 文件,大概在 129 行处的 function add_user 函数里添加代码如 Discuz X 的: $this->db->query("IN

网站整合Ucenter详细流程

最近公司项目要用到SNS,在具体采取解决方案上面由于项目由一实力较强的外包公司做,所以没有采用商业解决方案.不过本人一直比较看好康盛的产 品,因为被外派到外包公司去负责项目,尽管以前用的SNS也在不少,也曾对SNS进行过插件开发以及整合,不过还真没彻底搞透UCenter的灵活应用. 这不找了一些资料研究研究.听说最近UCHome都上2.0了,好像上半年还用的是1.5的呢...                     武汉百度公司          PS:感觉博客里面加点图片装饰一下还是挺好看的.

Yii整合ucenter实现单点登录

准备工作1.下载ucenter源码,并安装好2.下载ucenter开发源码,根据自己的项目下载对应版本(utf-8 ucenter-utf-8.rar ,gbk ucenter-gbk.rar ) 解压好之后,在里面能够看到三个文件夹与一个文件,全部copy到自己的项目根目录. 然后进入ucenter后台,创建应用. 应用类型:选择其他应用名称:自己填写应用的主URL:填写yii项目的网址应用IP:填写yii项目的ip地址是否开启同步登陆:选择是是否接受通知:选择是 设置好后,点击提交即可. 提

discuz 用户整合 账号整合 ucenter php网站整合discuz用户

引用:https://www.cnblogs.com/kenkofox/archive/2011/09/18/2180649.html 1.登录后台管理.(在论坛中,用创建论坛的admin账号登陆,然后点“管理中心”) 2.添加新应用,填写资料.其实就是“名称”和“密钥”重要一些而已.例如我这里添加的“香芋网” 3.复制生成的配置代码,贴到constants.php中(CodeIgniter),或者使用前引入一个配置,在该配置中贴这些配置代码.   然后,就是使用了:参考developguide

ThinkPHP项目整合UCenter(一)

一.准备文件 UCenter_1.6.0_SC_UTF8  二.项目文件位置 a. UCenter_1.6.0_SC_UTF8\upload\ 下 所有文件 复制到项目根目录,并安装UCenter b. UCenter_1.6.0_SC_UTF8\advanced\examples\ 下 Api(文件夹).include(文件夹) 复制到项目根目录    c.UCenter_1.6.0_SC_UTF8\advanced\  下 uc_client(文件夹) 复制到 项目根目录 d.UCenter

ucenter 整合同步登录的内部实现原理及thinkphp整合ucenter

1.用户登录discuz,通过logging.php文件中的函数uc_user_login对post过来的数据进行验证,也就是对username和password进行验证.2.如果验证成功,将调用位于uc_client下client.php文件中的函数uc_user_synlogin,在这个函数中调用 uc_api_post('user', 'synlogin', array('uid'=>$uid)).3.然后这个函数后向Ucenter的index.php传递数据,index.php接受传递的

SpringBoot整合Nacos注册中心

#### 什么是Nacos Nacos 是阿里巴巴的开源的项目,Nacos致力于帮助您发现.配置和管理微服务.Nacos提供了一组简单易用的特性集,帮助您快速实现动态服务发现.服务配置.服务元数据及流量管理.Nacos帮助您更敏捷和容易地构建.交付和管理微服务平台.Nacos是构建以"服务"为中心的现代应用架构 (例如微服务范式.云原生范式) 的服务基础设施. 将使用Nacos作为微服务架构中的注册中心(替代:eurekba.consul等传统方案)以及配置中心(spring clou

Ucenter注册后,需要二次登录才能同步登录的解决方案

1. 打开配置文件config.inc.php 在根目录data目录下最下方定义 define('DZ_DBTABLEPRE', '你的表前缀'); 2.打开uc_server/model/user.php add_user函数 在retun之前加入以下代码 // BEGIN $this->db->query("INSERT INTO ".DZ_DBTABLEPRE."common_member SET uid='$uid', username='$usernam

Discuz3.2 新用户插入数据库SQL

我们的网站要和Discuz整合到一起,有个新用户同步的需求,网络上很多的做法是用 UCenter的接口来做,反正最后都是插入SQL,笔者使用了直接操作数据库的方式,把操作的表和SQL整理了下,后面如果有时间做个SSO就省事了(熟悉了PHP之后..) 准备 版本:dz 3.2版本 ucenter1.6版本 目标:插入普通用户,最小可用就行了,可以登录 整合ucenter注册自动激活, 其实只是把其中的sql提取出来了 dz用户注册登录流程 dz表结构 SQL记录 注意??:表名称前缀根据配置可能不