Php 打字错误3:在FE登录时创建用户
形势:Php 打字错误3:在FE登录时创建用户,php,login,typo3,frontend,createuser,Php,Login,Typo3,Frontend,Createuser,形势: 我构建了一个身份验证服务,它使用基本身份验证来检查用户是否存在于外部数据库中并获取一些数据。有问题的用户只存在于外部数据库中 问题: Typo3需要在fe_用户表中有一个用户条目才能登录用户。 因此,只要此条目不存在,用户就无法登录 我想做什么: 在身份验证服务中创建用户,以避免使用来自外部数据库的sql转储,并确保同步是可能的 相关代码: ext_localconf.php文件: <?php if (!defined('TYPO3_MODE')) { die ('
我构建了一个身份验证服务,它使用基本身份验证来检查用户是否存在于外部数据库中并获取一些数据。有问题的用户只存在于外部数据库中 问题:
Typo3需要在fe_用户表中有一个用户条目才能登录用户。 因此,只要此条目不存在,用户就无法登录 我想做什么:
在身份验证服务中创建用户,以避免使用来自外部数据库的sql转储,并确保同步是可能的 相关代码: ext_localconf.php文件:
<?php
if (!defined('TYPO3_MODE')) {
die ('Access denied.');
}
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addService(
$_EXTKEY,
'auth' /* sv type */,
'AuthService' /* sv key */,
array(
'title' => 'GET Authentication service',
'description' => 'Authenticates users with GET request.',
'subtype' => 'getUserFE, authUserFE',
'available' => true,
'priority' => 90,
'quality' => 90,
'os' => '',
'exec' => '',
'className' => Plaspack\professionalZoneLogin\Service\AuthService::class,
)
);
您应该使用自己的代码扩展AuthenticationService,这里描述了这样做的方法不确定它是否相关,但是t3lib\u extMgm
应该是\TYPO3\CMS\Core\Utility\ExtensionManagementUtility
,除非您使用的是TYPO3 6
您还可以通过调用$GLOBALS['TYPO3\u DB']->SQL\u error()
查看是否出现任何SQL错误,这就是我对类AuthService Extendes\TYPO3\CMS\Sv\AuthenticationService所做的操作。您可以从ext\u localconf.php复制代码吗?很抱歉,可能不够清楚,AuthService本身正在工作。这是创建一个不需要的用户位。其他一切都很好。在主要帖子中添加了ext_localconf。您可能会检查其他身份验证扩展,例如,在登录时创建fe_用户。@BerndWilkeπφ我相信我以前看过,但我找不到他们在哪里创建用户,您能指出我吗?我们使用的是ig_ldap_sso_auth的3.2.2版,我可以在Classes/Library/authentication.php中找到一个方法synchronizeuser()
,它调用Typo3UserRepository::add()
尝试了所有不起作用的方法。当我尝试登录时,它会加载一段时间,然后告诉我默认的登录错误消息。日志中没有错误或类似的内容。db eitherThanks中没有任何条目对此表示感谢,看起来我没有收到任何SQL错误。几乎感觉到它甚至没有达到代码的那一部分。
<?php
if (!defined('TYPO3_MODE')) {
die ('Access denied.');
}
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addService(
$_EXTKEY,
'auth' /* sv type */,
'AuthService' /* sv key */,
array(
'title' => 'GET Authentication service',
'description' => 'Authenticates users with GET request.',
'subtype' => 'getUserFE, authUserFE',
'available' => true,
'priority' => 90,
'quality' => 90,
'os' => '',
'exec' => '',
'className' => Plaspack\professionalZoneLogin\Service\AuthService::class,
)
);