会员登录

联系我们

电话:18921289006

传真:0510-88804819

EMAIL: 这个 E-mail 受所垃圾邮件程序保护,您需要启用 JavaScript 才能查看。

开发手记

实现两个JOOMLA网站的会员的通信

打印 Email

 

因为想做了一个mall.huang.com的商城网。为了实现nhuang.com里的会员共享到mall.nhuang.com里面去,于是就需要一个认证插件,当用户在mall.nhuang.com里用nhuang用户名登陆的时候,就需要到nhuang.com的数据库里的用户表里进行认证。

到plugins里的authentication表里打开本来的joomla自有的认证插件,当然将它复制一下,修改xml里相关名称,用一个全新的,便如nhuang,这样就可以省却写多余的代码的功夫。

打开另外一个JOOMLA的PHP文件,先把文件名改了,再打开文件将里的类名称也改了,构造函数的当然也要改,找到onAuthenticate函数,

 

$options = array('driver'=>'mysql','host'=>'数据库主机一般也是localhost','user'=>'用户名','password'=>'数据库用户实际密码','database'=>'数据库名','prefix'=>'前缀');
 $db =& JDatabase::getInstance($options);
 $query = 'SELECT `id`, `password`, email,name,`gid`'
 . ' FROM `#__users`'
 . ' WHERE username=' . $db->Quote( $credentials['username'] )
 ;

 

把这段代码替换掉之前的它的认证方法,他是直接到数据库里进行认证的。现在必须是到新数据库,也就是我的nhuang.com数据库里yufi_users里进行用户认证。

然后找到这一段,

$user = JUser::getInstance($result->id); // Bring this in line with the rest of the system
 $response->email = $user->email;
 $response->fullname = $user->name;

将里面的$user = JUser::getInstance($result->id)删掉,然后将$user改成$result也就是$result->email,$result->name.

 

这样将这两个文件再压缩,到mall.nhuang.com的后台安装插件,发布它,OK,成功。