无法在 TYPO3 v9 中获取后端用户



我使用较旧的TYPO3版本(<v9(>

我无法在我的前端扩展中获取登录的后端用户。 在早期的TYPO3版本中,我能够做到这一点。

现在,当我登录TYPO3后端并要求它时,它将不再起作用。

我的方法是:

$context = TYPO3CMSCoreUtilityGeneralUtility::makeInstance(TYPO3CMSCoreContextContext::class);
$be_username = $context->getPropertyFromAspect('backend.user', 'username');

我得到一个空字符串。我知道后端用户可能不适用于 FE。 但我需要检查他。

感谢您的任何建议。

如果您想了解后端用户当前是否登录,那么代码完全正确(您甚至不需要检查用户名(。

$context = TYPO3CMSCoreUtilityGeneralUtility::makeInstance(TYPO3CMSCoreContextContext::class);
$isLoggedIn = $context->getPropertyFromAspect('backend.user', 'isLoggedIn');

但是,如果您在插件中的扩展中执行此操作,该插件是可缓存的("USER"cObject,或Extbase插件中的"不可缓存操作"(,则可以缓存此信息,这可能会导致严重!

一般来说,你应该只在前端相关事件、PSR-15 中间件或来自 TSFE 的钩子中检查后端用户,而不是在插件/cObject 等中检查后端用户,除非你真的知道你在做什么。

万事如意, 本尼-

相关内容

  • 没有找到相关文章

最新更新