首页 > Joomla, Joomla组件, 网站搭建, 老石心得 > JFusion 引起Joomla后台无法登陆问题的解决方案

JFusion 引起Joomla后台无法登陆问题的解决方案

2009年2月21日

JFusion的安装最终引起Joomla后台无法登录,看老石最终是如何解决Joomla后台无法登录的问题的。

昨天在给网站安装了SMF2.0RC1后打算把它整合到主站的Joomla系统下,尝试了好几个桥接器都无法满足要求,最后看别人推荐使用JFusion这个桥接器。于是很快的从官网上下载,安装。

打开JFusion的管理面板,设置桥接SMF2.0,不过只看到了支持1.4版本,抱着试试看的态度来给它做桥接,谁知后来出的问题整整让我花了4个多小时才得以解决。

问题描述如下:配置玩JFusion后,Joomla管理后台无法登陆,显示:

Fatal error: Call to undefined method stdClass::onAuthenticate() in /home/taoxian/public_html/libraries/joomla/user/authentication.php on line 121

尝试了不下7,8种网络上介绍的方法,最终都没有结果。后来有人说改动这行代码:

To retain full functionality, simply encapsulate the line with a check for the ‘onDisplay’ method as shown below.

// This was the original code that did not check for the method

// $result[] = $plugin->onDisplay($editor);

// Try to authenticate

if (method_exists($plugin, ‘onDisplay’)) {

$result[] = $plugin->onDisplay($editor);

}

I hope this helps everyone.

照着操作,把代码改为

if(method_exists($plugin,’onAuthenticate’)){

$plugin->onAuthenticate($credentials, $options, $response);

}

问题变成了Username and password do not match。管理后台仍然无法登陆。最后搜索:

JFusion Call to undefined method stdClass

找到了JFusion的官方网站给出的解决方案,最终问题得以完美解决。

JFusion changes the way the Joomla login works. If you don’t configure JFusion properly, you could be unable to login. This post aims to explain how to troubleshoot your problems.

How to restore the normal Joomla login behaviour

If you are locked out of your Joomla administrator account you will need to unpublish the JFusion plugins and publish the joomla default plugins. For this you will need a mySQL database editor such as myphpadmin.

You can run the following SQL statement (assuming your table prefix is jos_):
UPDATE jos_plugins SET published = 1 WHERE element =’joomla’ and folder = ‘authentication’;
UPDATE jos_plugins SET published = 1 WHERE element =’joomla’ and folder = ‘user’;
UPDATE jos_plugins SET published = 0 WHERE element =’jfusion’ and folder = ‘authentication’;
UPDATE jos_plugins SET published = 0 WHERE element =’jfusion’ and folder = ‘user’;

Or manually make these changes with the following settings:
1. Go to phpMyAdmin or a similar software that you may be using to browse through your DB.
2. Select the Database where your Joomla is Installed.
3. Select “jos_plugins” on the left side. (NOTE: “jos_” is the default Joomla Installation DB Prefix. Select accordingly in case you have modified it accordingto your needs.)
4. Click “Browse” to brose through the DB.
5. Make sure the value under “published” is 1 for “Authentication – Joomla” and “User – Joomla!”.
6. Make sure the value under “published” is 0 for “Authentication – jfusion” and “User – JFusion”.

按照方法一,进行4次数据库查询动作,这个时候就发现,你已经可以重新看到可爱的Joomla后台登录界面了。

重新登陆Joomla后台后删除这个JFusion插件,就可以了。

老石 Joomla, Joomla组件, 网站搭建, 老石心得

  1. 目前还没有任何评论.
  1. 目前还没有任何 trackbacks 和 pingbacks.