我使用了较早的TYPO3版本( 我无法在前端扩展中获取登录的后端用户。
在早期的TYPO3版本中,我能够做到这一点。 现在,当我登录TYPO3后端并要求它时,它将不再起作用。 我的方法是: 我得到一个空字符串。我知道后端用户可能无法使用FE。
但是我需要检查他。 谢谢您的任何建议。$context = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Context\Context::class);
$be_username = $context->getPropertyFromAspect('backend.user', 'username');
答案 0 :(得分: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等中检查后端用户。
祝一切顺利, 本尼-