magento和discuz(ucenter)整合集成开发思

电脑杂谈  发布时间:2019-08-03 01:05:37  来源:网络整理

wordpress整合ucenter_ucenter整合图文教程_ucenter整合自己网站

discuz自带ucenter,主要就是用于和其他程序的通信.我们可以下载discuz的ucenter开发手册进行magento和discuz的集成.里面有一些ucenter的一些接口函数和参数说明,没有这个文档,最模板就无法进行下面:

1、把api和uc_client目录放在应用程序的跟目录.

2、修改自己的配置文件(application/config/config.ini),在最后加上下面的代码:代码如下

[ucenter]

uc.UC_ON = 0

uc.UC_CONNECT = mysql

uc.UC_DBHOST = localhost

uc.UC_DBUSER = root

uc.UC_DBPW = vertrigo

uc.UC_DBNAME = ucenter

uc.UC_DBCHARSET = utf8

uc.UC_DBTABLEPRE = ucenter.uc_

uc.UC_KEY = 123456789

uc.UC_API =

uc.UC_CHARSET = utf-8

uc.UC_IP =

uc.UC_APPID = 1

复制代码

2、监视器电源开关一直处于打开状态,己失控,(判断、可打开或关闭监视器电源开关,检查面板电源指示灯在开关打开时是否亮,在电源开关关闭时是否处于灭状态,有以上现象可判断开关正常)。注意:指示灯亮就表示开启,如果要打字就再按次scroll lock键,指示灯关闭就表示关闭连发功能,打字完再按次scroll lock键保持连发的开启状态,1.1.2以后版本增加连发热键开关:左右win键。使用音频线时,直接插线就能播放,开关关闭即为关闭主动降噪、开关打开即为开启主动降噪.。

应用的key一致不然会显示通信失败。

3、修改index.php入口文件,加入配置解析,代码如下:

ucenter整合图文教程_wordpress整合ucenter_ucenter整合自己网站

代码如下

//ucenter配置

过程中修改的文件有: discuz程序: api\uc.php uc_client\data\cache\apps.php ecshop程序: user.php api\uc.php includes\lib_common.php includes\modules\integrates\ucenter.php ecshop ucenter卸载 登录ecshop后台,“sql查询”提交以下语句,清除缓存。总结:总的来说,ucenter一站登陆原理是socket远程打开ucenter,并且传输已经登陆的公用uid,ucnter循环通过js调用各应用下的api,在各个地方设置cookie,而保证cookie通用的则是p3p处理[注意不同应用下的api脚本不一样,bbs的uc.php不同于uchome的uc.php]。也可以直接采用最简单最有效的解决办法:将你的uc服务器端相应的应用的“应用的 ucenter 配置信息”这一项下面的代码复制到你的应用的配置文件—config_ucenter.php里面,覆盖相应的参数保存即可,config_ucenter.php文件在你的程序所在目录的\config路径下。

if (Zend_Registry::get('UC_ON')) {

// 连接 ucenter 的方式: mysql/null,默认为空时为 fscoketopen(), mysql 是直接连接的, 为了效率, 建议采用 mysql。 // 连接 ucenter 的方式: mysql/null, 默认为空时为 fscoketopen(), mysql 是直接连接的, 为了效率, 建议采用 mysql。5、安全可靠的系统保障,采用主流 mssql server大型系统,兼容现在最新的sql2008,sql2005,sql2000,数据安全无误,系统稳定可靠ucenter整合图文教程,数据自动备份保障数据万无一失,数据传输采用先进的数据压缩技术,确保数据交换更加快捷准确,完全开放,数据表和字段属性描述有文档资料,可以让企业自有开发人员直接从后台提取数据,使企业内部各软件系统实现无缝连接,系统兼容win8,win7,win2008主流操作系统,对你硬件升级提供了无限可能。

define('UC_DBHOST', $config->ucenter->uc->UC_DBHOST); // UCenter主机

define('UC_DBUSER', $config->ucenter->uc->UC_DBUSER); // UCenter 用户名

define('UC_DBPW', $config->ucenter->uc->UC_DBPW); // UCenter 密码

uc_dbname: ucenter 名称。uc_dbname:ucenter 名称。uc_dbname: ucenter名称。

define('UC_DBCHARSET', $config->ucenter->uc->UC_DBCHARSET); // UCenter 字符集

ucenter 表前缀:pre_ucenter_ define(‘。uc_dbtablepre:ucenter 的表前缀。 // ucenter 表前缀(格式:.前缀)。

3)通信密钥:这里的通信密钥要和 config.pnp 里的 define('uc_key',后面的数字对应。uc_key = 123456(与ucenter通信的密钥,这里自己设定,需与discuz ucenter一支)。uc_key: 通信密钥,打开ucenter把帝国cms应用里的通信密钥和此密钥统一。

// ucenter 的 url 地址, 在调用头像时依赖此常量。 // ucenter 的 url 地址, 在调用头像时依赖此常量。 // ucenter 的 url 地址, 在调用头像时依赖此常量。

相同,找到synlogin这个function.com/zhidao/pic/item/4bed2e738bd4b31cb92f6f2c81d6277f9e2ff812.inc,就是配置config文件了ucenter整合图文教程,所以这些代码需要在页面上面执行才能实现同步登录功能,今天就由68ecshop的技术详细的介绍下如何把自己的网站整合上ucenter,所以我改了个名字叫config,但是如果是自己开发的网站需要和discuz或者ecshop同步登录的话,需要注意的是要实现同步登录,应用类型.php里面的所有config,然后在刷新ucenter后台的应用列表,同步退出的方法,这个函数里面你可以进行操作,如登录函数是。总结:总的来说,ucenter一站登陆原理是socket远程打开ucenter,并且传输已经登陆的公用uid,ucnter循环通过js调用各应用下的api,在各个地方设置cookie,而保证cookie通用的则是p3p处理[注意不同应用下的api脚本不一样,bbs的uc.php不同于uchome的uc.php]。4)在 ucenter 里检查一下 ucenter home 这个应用的 id 值是不是和 ucenter home 中 config.php 里的 define('uc_appid'值相同。

define('UC_IP', $config->ucenter->uc->UC_IP); // UCenter 的 IP

define('UC_APPID', $config->ucenter->uc->UC_APPID); // 当前应用的 ID

include './uc_client/client.php';

}

复制代码

好了,准备工作完成了,下面要进行程序开发了。

4、登陆同步的实现,下面的代码有点长,因为我是开始没有集成ucenter,后来新增的ucenter,所以做了兼容性,兼顾了没有开启ucenter 的

ucenter整合自己网站_wordpress整合ucenter_ucenter整合图文教程

登录。

代码如下

//如果开启了ucenter

if ($this->is_uc_on) {

//通过接口判断登录帐号的正确性,返回值为数组

list($uid, $username, $password, $email) = uc_user_login($username,$password)。list($uid, $username, $password, $email) = uc_user_login($_post['username'], $_post['password'])。list($uid, $username, $password, $email) = uc_user_login($_post['username'], $_post['pw'])。

if($uid > 0) {

//判断用户是否存在于用户表,不存在则跳转到激活页面

if($this->user->checkUserValid($username)) {

//将这些用户信息写入cookie,用于激活页面

// setcookie(’auth’, uc_authcode($uid.”/t”.$_post['username'], ‘encode’))。setcookie(’auth’, uc_authcode($uid.”/t”.$username, ‘encode’))。 $userdata=array( 'uid'=>$uid, 'username'=>$username, 'password'=>$password, 'email'=>$email, 'adminid'=>0, 'groupid'=>10, 'regdate'=>$time, 'credits'=>0, 'timeoffset'=>9999 )。

$this->view->securl = $this->view->domain.'/user/activation';

$this->view->msg = '您需要需要激活该帐号,才能进入本应用程序!';

echo $this->view->render('success.php');

exit;

}

//用户登陆成功,设置 Cookie

$udata = array('id'=>$uid,'username'=>$username,'role'=>'member');

$expire = 86400;

$this->setCookie($udata,$expire);

//生成同步登录的代码

ucenter整合自己网站_wordpress整合ucenter_ucenter整合图文教程

$ucsynlogin = uc_user_synlogin($uid);

$this->view->securl = $this->view->domain;

$this->view->msg = '登录成功,正在跳转回首页!';

echo $this->view->render('success.php');

} elseif($uid == -1) {

$this->view->error= "用户不存在,或者被删除!";

echo $this->view->render('error.php');exit;

} elseif($uid == -2) {

$this->view->error = "密码错误!";

echo $this->view->render('error.php');exit;

} else {

$this->view->error = "系统错误,请稍候再试!";

echo $this->view->render('error.php');exit;

}

}

else //没有采用uc的登录方式

{

$dbAdapter = Zend_Registry::get('dbAdapter');

$authAdapter = new Zend_Auth_Adapter_DbTable($dbAdapter);

//$authAdapter->setTableName('bg_user');

final managedprofileheuristic heuristic = managedprofileheuristic.get(mcontext, user)。alert('get js data from parent > '+ window.parent.user)。look+形容词 get ready for get on/off get upget down get to。

wordpress整合ucenter_ucenter整合自己网站_ucenter整合图文教程

$authAdapter->setIdentityColumn('username');

$authAdapter->setCredentialColumn('password');

$authAdapter->setIdentity($username);

$authAdapter->setCredential($password);

$auth = Zend_Auth::getInstance();

$result = $auth->authenticate($authAdapter);

if($result->isValid()){

$data = $authAdapter->getResultRowObject(null,'password');

//$auth->getStorage()->write($data);

//写入cookie

$udata = array('id'=>$data->id,'username'=>$data->username,'role'=>$data->role);

$expire = 86400;

$this->setCookie($udata,$expire);

$this->view->securl = $this->view->domain;

$this->view->msg = '登录成功,正在跳转回首页!';

echo $this->view->render('success.php');

}else{

//用户名密码

$this->view->error = "用户名密码错误!";

echo $this->view->render('error.php');

exit();

}

}

好了,同步登录完成,接着就仿照上面的注销,修改密码,修改等都可以实现了。


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-117790-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 范俊燕
        范俊燕

        上次阅兵式后领航飞行员就对新闻记者讲述了我们的现状

      • 范蠡
        范蠡

        芝麻有虫子不好吗

      • 段松娟
        段松娟

        这是我的老公们

      热点图片
      拼命载入中...