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 用户的主要内容,如果未能解决你的问题,请参考以下文章