因为想做了一个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将里面的$user = JUser::getInstance($result->id)删掉,然后将$user改成$result也就是$result->email,$result->name.
$response->email = $user->email;
$response->fullname = $user->name;
这样将这两个文件再压缩,到mall.nhuang.com的后台安装插件,发布它,OK,成功。
Set as favorite
Bookmark
Email This
Hits: 585
Write comment
