Fixed Class XF\Authentication\IPBoard40x does not exist

Gator

Well-known member
I installed the latest version of XF1 and imported my IPBoard 4.2 database. All installed and imported without error. I then Upgraded to XF2, and again no errors. When I log in as the administrator (created during install), no problem.

But all of the imported logins are getting this error:

LogicException: Class XF\Authentication\IPBoard40x does not exist src/XF/Container.php:267
 

mejicat

Member
Having this problem too in v2.0.4. Converted from IPB 4.2 to XF1, and then from XF1 to XF 2.0.4. Whenever anyone tries to login with their old IPB account, this error happens:

  • LogicException: Class XF\Authentication\IPBoard40x does not exist
  • src/XF/Container.php:267
Stack trace
#0 src/XF/App.php(1312): XF\Container->createObject('XF\\Authenticati...', Array)
#1 src/XF/Container.php(228): XF\App->XF\{closure}('XF\\Authenticati...', Array, Object(XF\Container))
#2 src/XF/App.php(2455): XF\Container->create('auth', 'XF\\Authenticati...', Array)
#3 src/XF/Entity/UserAuth.php(54): XF\App->auth('XF\\Authenticati...', Array)
#4 src/XF/Entity/UserAuth.php(22): XF\Entity\UserAuth->getAuthenticationHandler()
#5 src/XF/Service/User/Login.php(122): XF\Entity\UserAuth->authenticate('aaf98b8bb2eeaba')
#6 src/XF/Pub/Controller/Login.php(83): XF\Service\User\Login->validate('aaf98b8bb2eeaba', NULL)
#7 src/XF/Mvc/Dispatcher.php(249): XF\Pub\Controller\Login->actionLogin(Object(XF\Mvc\ParameterBag))
#8 src/XF/Mvc/Dispatcher.php(88): XF\Mvc\Dispatcher->dispatchClass('XF:Login', 'Login', 'html', Object(XF\Mvc\ParameterBag), '', Object(XF\Pub\Controller\Login), NULL)
#9 src/XF/Mvc/Dispatcher.php(41): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#10 src/XF/App.php(1891): XF\Mvc\Dispatcher->run()
#11 src/XF.php(328): XF\App->run()
#12 index.php(13): XF::runApp('XF\\Pub\\App')
#13 {main}



edit: I managed to fix it. In the xf_user_authenticate table, I replaced every instance of XenForo_Authentication_IPBoard40x in the scheme_class column with XF:IpsForums4x. Not sure why it hasn't happened automatically during the upgrade/conversion.
 
Last edited:

Chris D

XenForo developer
Staff member
edit: I managed to fix it. In the xf_user_authenticate table, I replaced every instance of XenForo_Authentication_IPBoard40x in the scheme_class column with XF:IpsForums4x. Not sure why it hasn't happened automatically during the upgrade/conversion.
 

whitetigergrowl

Active member
I have over 10,000 members to do that to. No way I'm doing it individually. And I'm not sure of the SQL command to use to do it all at one time. :/
 

Chris D

XenForo developer
Staff member
SQL:
UPDATE xf_user_authenticate
SET scheme_class = 'XF:IpsForums4x'
WHRRE scheme_class ='XenForo_Authentication_IPBoard40x'
 

Chris D

XenForo developer
Staff member
Let me know if that sorts it or not and confirm which XF version you’re running, please.

I have a feeling there might be an oversight here and it may need a different query and a different method of fixing for a future release.
 

whitetigergrowl

Active member
SQL query:

UPDATE xf_user_authenticate
SET scheme_class = 'XF:IpsForums4x'
WHRRE scheme_class ='XenForo_Authentication_IPBoard40x'


MySQL said:

#1046 - No database selected

<<< I'm also using the latest version of XF.
 

Chris D

XenForo developer
Staff member
Assuming this is PhpMyAdmin you need to actually click on your database first, before going to the SQL tab.
 

whitetigergrowl

Active member
Whoooops. That was my bad. lol


UPDATE xf_user_authenticate
SET scheme_class = 'XF:IpsForums4x'
WHRRE scheme_class ='XenForo_Authentication_IPBoard40x'


MySQL said:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHRRE scheme_class ='XenForo_Authentication_IPBoard40x'' at line 3

<<< I found there was a spelling error and fixed it. That seems to have helped with the tables that had 'XenForo_Authentication_IPBoard40x'.

I also noticed many of the tables also have : 'XenForo_Authentication_IPBoard' in place of the 'XenForo_Authentication_IPBoard40x' but I'm not yet sure if they have the same negative effect or if they too should be replaced with the 'XF:IpsForums4x'.
 
Top