ucenter及discuz整合,双向同步注册及登录注意事项2016年9月13
来源:互联网 发布:星网锐捷和锐捷网络 编辑:程序博客网 时间:2024/05/19 05:30
如果遇到接口调试问题,可以参考我的其它教程.
http://blog.csdn.net/viqecel/article/details/52492081
http://blog.csdn.net/viqecel/article/details/52485774
后台修改方法
注意
所有涉及文件修改的,不管什么结尾的,只要是文本类的文件,都需要用专业的编程软件打开.比如notepad++ 工具.
否则,会导致网站错位,乱码等,因为会产生bom头问题.具体可以搜索下
一,先进论坛后台,站长,ucenter设置,选择允许直接激活
二,进ucenter ,应用管理,新建立应用.类型选其它,名称填book,主url填你的网站主页网址.比如http://123.com
通信密钥随便填一个密码,最下面同步登录填是.其它不用填,保存.
三,修改要整合的第三方应用网站的数据库配置.方便从第三方网站上,同步插入会员数据到ucenter中.
有些可能需要在后台配置,或直接修改文件,要具体分析.
这个文件里面的内容.其实就是ucenter后台,book应用,编辑后,拉到最下面,看到配置信息,把他全部复制后,填在uc.php中的对应位置,保存,上传,替换原文件即可..
四,去论坛的安装目录中,找uc_client/data/cache/apps.php 打开,里面有你uc后台的所有应用,如果没有.说明不正常.把里面所有内容.复制,填到book网站对应的uc_client\data\cache\apps.php中,保存上传
这两个文件要一致,才能同步.
五,实现论坛上注册会员后,直接在所有应用中自动登录,而不必登录,再登录一次才同步.
方法
修改论坛目录中对应的,\uc_client\model\user.php 中的function add_user 函数
把大约131行的
$salt = substr(uniqid(rand()), -6);
整体替换为
$salt = substr(uniqid(rand()), -6);
$password2 = md5($password);
然后,在return $uid;
的上面增加下面这段代码
$time2=date('Y-m-d H:i:s',$this->base->time);
$this->db->query("INSERT INTO admin_book.hbdx_users SET uc_id='$uid',user_mail='$email',user_name='$username',user_group='同步注册会员',user_displayname='$username',registerdate='$time2',user_pass='$password2',user_integration='10'");
/////注意,其中,admin_book 表示book网站对应的数据库名,hbdx_users 表示表名,可以相应修改为正在使用的.
六,同时,修改论坛目录中的.
\source\class\class_member.php
找到大约926行的
$extra = array(
'showid' => 'succeedmessage',
'extrajs' => '<script type="text/javascript">'.
'setTimeout("window.location.href =\''.$href.'\';", 3000);'.
'$(\'succeedmessage_href\').href = \''.$href.'\';'.
'$(\'main_message\').style.display = \'none\';'.
'$(\'main_succeed\').style.display = \'\';'.
'$(\'succeedlocation\').innerHTML = \''.lang('message', $locationmessage).'\';'.
'</script>',
'striptags' => false,
);
整体替换为
$ucsynlogin = '';
if($_G['setting']['allowsynlogin']) {
loaducenter();
$ucsynlogin = uc_user_synlogin($_G['uid']);
}
$extra = array(
'showid' => 'succeedmessage',
'extrajs' => '<script type="text/javascript">'.
'setTimeout("window.location.href =\''.$href.'\';", '.$refreshtime.');'.
'$(\'succeedmessage_href\').href = \''.$href.'\';'.
'$(\'main_message\').style.display = \'none\';'.
'$(\'main_succeed\').style.display = \'\';'.
'$(\'succeedlocation\').innerHTML = \''.lang('message', $locationmessage).'\';'.
'</script>'.$ucsynlogin,
'striptags' => false,
);
//其实主要是在后面增加了这一句
//.$ucsynlogin ,从而实现论坛上初次注册的会员,就可以直接同步到另一站,不需要退出再登录一次.
七,如果论坛中已经存在以前注册的用户,如果他论坛上登录后,想同步注册到本站,则还需要在论坛目录中,增加个email参数.这样,本应用的api/uc.php中就能得到这个参数.
具体为
\uc_server\control\user.php,要修改本文件的onsynlogin()
下面这个函数直接替换原来的就行.里面增加了email
function onsynlogin() {
$this->init_input();
$uid = $this->input('uid');
if($this->app['synlogin']) {
if($this->user = $_ENV['user']->get_user_by_uid($uid)) {
$synstr = '';
foreach($this->cache['apps'] as $appid => $app) {
if($app['synlogin']) {
if($app['appid'] != $this->app['appid']) {
$synstr .= '<script type="text/javascript" src="'.$app['url'].'/api/'.$app['apifilename'].'?time='.$this->time.'&code='.urlencode($this->authcode('action=synlogin&username='.$this->user['username'].'&uid='.$this->user['uid'].'&email='.$this->user['email'] .'&password='.$this->user['password']."&time=".$this->time,'ENCODE', $app['authkey'])).'" reload="1"></script>';
}
if(is_array($app['extra']['extraurl'])) foreach($app['extra']['extraurl'] as $extraurl) {
$synstr .= '<script type="text/javascript" src="'.$extraurl.'/api/'.$app['apifilename'].'?time='.$this->time.'&code='.urlencode($this->authcode('action=synlogin&username='.$this->user['username'].'&uid='.$this->user['uid'].'&email='.$this->user['email'].'&password='.$this->user['password']."&time=".$this->time,'ENCODE', $app['authkey'])).'" reload="1"></script>';
}
}
}
return $synstr;
}
}
return '';
}
//函数结束
- ucenter及discuz整合,双向同步注册及登录注意事项2016年9月13
- phpcms V9 整合 Discuz! X2.5 ucenter通信教程--同步注册和登录
- phpcms V9 整合 Discuz! X2.5 ucenter通信教程--同步注册和登录
- phpcms V9 整合 Discuz! X2.5 ucenter通信教程--同步注册和登录
- dedecms v5.7 整合discuz x3.2 双向同步登录退出(2016年4月2号)
- 整合Ucenter同步注册,登录,退出
- Thinkphp整合ucenter同步登录注册退出
- Discuz使用UCenter实现同步登录、注册、退出
- 解决整合 UCenter 首次注册同步登录与自动激活
- 解决整合 UCenter 首次注册同步登录与自动激活
- J2EE整合UCenter 首次注册同步登录与自动激活
- 解决整合 UCenter 首次注册同步登录与自动激活
- java整合discuz论坛同步注册同步登录小结
- UCenter整合网站同步登录
- discuz论坛整合ucenter免激活,同步登录,同步退出解决方案(附源码)
- ucenter api注册Discuz免激活登录
- 整合UCenter+MediaWiki+Discuz实现单点登录
- Yii框架应用程序整合Ucenter实现同步注册、登录和退出等
- ssh上传和下载linux文件命令
- Android热补丁动态修复技术(二):实战!CLASS_ISPREVERIFIED问题!
- PostgreSQL pgcrypto模块加密解密函数
- MVP最新理解 不给Prensenter 写接口
- eclipse svn拿下代码后重新把java project变为web project
- ucenter及discuz整合,双向同步注册及登录注意事项2016年9月13
- Correctly Managing your SQLite Database
- HDU 5725 Game
- ${sessionScope.user}的使用方法
- iOS全网最详细高仿淘宝购物车,现已加入KFC豪华午餐,带走不要钱
- struts2下载的问题
- Java Bean 属性命名规范问题分析
- 初级排序-选择排序、插入排序、希尔排序总结
- (第三周项目4)顺序表的应用(2)