无法在Typo3 v9中获取用户

问题描述 投票:0回答:1

我使用了较早的Typo3版本(

我无法在我的fe扩展名中提取已登录的用户。在早期的Typo3版本中,我能够做到这一点。

现在,当我登录Typo3 BE并要求它时,它将不再起作用。

我的方法是:

$context = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Context\Context::class);
$be_username = $context->getPropertyFromAspect('backend.user', 'username');

我得到一个空字符串。我知道be-user可能不适用于FE。但是我需要检查一下他。

谢谢您的任何建议。

typo3 fetch username
1个回答
0
投票

如果您想了解后端用户当前是否已登录,则代码是正确的(您甚至不需要检查用户名)。>>

$context = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Context\Context::class);
$isLoggedIn = $context->getPropertyFromAspect('backend.user', 'isLoggedIn');

但是,如果您在扩展程序中的可扩展缓存插件中执行此操作(即“ USER” cObject,或Extbase插件中的“不可缓存操作”,则可能会缓存此信息,这可能会导致严重后果!副作用。

通常,除非您真正知道自己在做什么,否则,您仅应在与前端相关的事件,PSR-15中间件或TSFE的挂钩中检查后端用户,而不是在插件/ cObjects等中检查后端用户。

祝您一切顺利,本尼-

© www.soinside.com 2019 - 2024. All rights reserved.