TYPO3:在控制器操作中创建一个 FE 用户

Posted

技术标签:

【中文标题】TYPO3:在控制器操作中创建一个 FE 用户【英文标题】:TYPO3: Create a FE user inside controller action 【发布时间】:2016-12-06 12:53:08 【问题描述】:

我想创建一个带有自定义扩展的 FE 用户(使用扩展生成器创建)。 我不想使用 fe_user_registration 或类似的东西,因为还需要许多其他自定义功能,当某些白痴不小心更新它时,这些功能可能会丢失。

我正在使用 TYPO3 7.6.8

【问题讨论】:

您可以将扩展程序中的数据存储到“fe_users”表中,其中包含字段用户组、用户名[应该是唯一的]和密码[应该是 md5] 【参考方案1】:

Extbase 带有model 和repository 用于操纵前端用户。他们还有一个model 和一个repository 用于处理前端用户组。

以通常的方式使用它们。您可能需要稍微摆弄一下才能正确获取存储页面,但它会起作用。我不确定密码是否会自动散列,所以请检查一下。

首先,在你想使用它的地方注入一个 FrontendUserRepository:

/**
 * @var \TYPO3\CMS\Extbase\Domain\Repository\FrontendUserRepository
 * @inject
 */
protected $frontendUserRepository;

然后创建一个前端用户并使用存储库将其持久化:

$frontendUser = new FrontendUser();
$frontendUser->setUsername('myusername');
// Set more values

$this->frontendUserRepository->add($frontendUser);

【讨论】:

它会抛出以下错误:Fatal error: Class 'Vendor\ExtName\Controller\FrontendUser' not found in .../Classes/Controller/DummyController.php on line 84。我认为它与命名空间有关,不是吗? 是的,我刚刚在我自己的命名空间声明之后直接添加了use TYPO3\CMS\Extbase\Domain\Model\FrontendUser;,现在它就像魅力一样!非常感谢

以上是关于TYPO3:在控制器操作中创建一个 FE 用户的主要内容,如果未能解决你的问题,请参考以下文章

如何使用站点包在typo3 中创建自定义内容元素?

在控制器中创建多对多模型的模式

在 Windows 窗体中创建类似控制台的信息显示

如何在 XCode 中创建多个控制台窗口

在前块中创建的 Rspec 变量在功能规范到达 POSTed 控制器操作时被删除

如何在 TYPO3 v10/v11 中为控制器操作参数定义正则表达式验证?