南荒工作室

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

因为想做了一个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数据库里jos_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,成功。

 

附件:
下载此文件 (authentication.zip)authentication.zip[认证插件]1 Kb2010年03月31日 03:52
feed0 Comments

Write comment
 
 
quote
bold
italicize
underline
strike
url
image
quote
quote
smile
wink
laugh
grin
angry
sad
shocked
cool
tongue
kiss
cry
smaller | bigger
 

security image
Write the displayed characters


busy
最后更新 ( 2010-03-31 03:51 )  

案例展示

LiveZilla Live Help