TYPO3 10:未登录后端时禁用页面

TYPO3 10: Disable page when not logged into backend

在 TYPO3 10 中有一种方法可以为任何未登录后端的人禁用页面。在 Typo3 10 之前,我相信这样的事情是有效的:

[getTSFE() && getTSFE().isBackendUserLoggedIn() == false]
  page = PAGE
  page.10 = TEXT
  page.10.value = Page disabled
[GLOBAL]

但是在 Typo3 10 中,由于 TSFE 数组的变化,这不再起作用。

从 9.5.16/10.4.1 开始,您可以使用 [backend.user.isLoggedIn][backend.user.isAdmin] (TSref) 来检查 BE 用户属性。

也许通过设置 HTTP 身份验证为不需要的访问者“隐藏”页面是更好的方法...


更新:

测试了两种变体。 两个 条件变体在 TYPO3 v10.4.17/10.4.19 中匹配:

page.200 = TEXT
[getTSFE() && getTSFE().isBackendUserLoggedIn() == true]
    page.200.value = BE-User is logged in.
[getTSFE() && getTSFE().isBackendUserLoggedIn() == false]
    page.200.value = BE-User is NOT logged in.
[global]

page.250 = TEXT
page.250.value = <hr />

page.300 = TEXT
page.300.value = BE-User is NOT logged in.
[backend.user.isLoggedIn]
    page.300.value = BE-User is logged in.
[global]

通知: 要完成这项工作,您的 FE 和 BE 必须能够共享他们的会话 cookie。这意味着,两者都必须使用 相同的 域(或适当配置的 cookie 域)调用。注意多域实例和变体 with/without "www" (www.example.com != example.com)