9

我有一个指向受限页面的链接。当我在注销状态下直接访问链接时,它会重定向到 404。实际上它应该重定向到登录表单。

我试过了:

config {
   typolinkLinkAccessRestrictedPages=PAGE_ID 
   typolinkLinkAccessRestrictedPages_addParams = &return_url=###RETURN_URL###&pageId=###PAGE_ID###
   }

不工作。

我也试过登录状态重定向插件,没用。

有人知道怎么做吗?我正在使用 TYPO3 版本 4.4.8。

4

6 回答 6

2

由于这仍然没有答案,这有帮助吗?适用于 TYPO3 < 8.x

# Check if user is logged in:
[usergroup = *]
# do something
[else]
page.config >
page.config.additionalHeaders = Location: http://www.yourdomain.org/login.html
[end]

我最近将此发布到另一个问题上,我想到它可能是适合您的探测的解决方法。

在这里找到

于 2011-11-18T06:20:26.123 回答
1

我不确定如何使重定向正常工作,但也许一些背景知识会有所帮助。

typolinkLinkAccessRestrictedPages 仅与链接生成交互。这样,只要您有指向访问受限页面的链接,您就应该获得指向“PAGE Id”页面的链接。我怀疑您正在使用您的登录 pid 代替 PAGE Id,我想这应该可以工作,但我没有使用此特定功能。我有typolinkLinkAccessRestrictedPages = NONE,它使所有链接都显示出来,链接到正确的url,但只有登录的用户才能成功加载这些页面。

如果有人在未登录的情况下使用书签访问受限页面,或者他们单击这些链接之一,或直接输入地址或其他任何内容,他们将遇到 TYPO3 的 404 处理(错误消息:ID不是可访问的页面)。要更改 TYPO3 处理这些错误的方式,您需要通过 localconf.php 中的此设置来更改 TYPO3 的功能:

$TYPO3_CONF_VARS["FE"]["pageNotFound_handling"]

我不知道是否有一种干净的方法可以自动重定向到登录页面而不破解 pageNotFound_handling。

至于打字稿解决方案,这对我的网站不起作用,因为触发器不是某人是否登录(通常他们不会登录)——我的网站的触发器正在尝试访问未登录时受保护的页面。我不希望它重定向未登录的每个人,因为很多页面不需要任何登录。

于 2012-07-04T00:46:15.463 回答
1

Fe_login 不能单独做到这一点......

按着这些次序::

  1. felogin 登录配置后安装“pagenotfoundhandling”扩展。
  2. 在“pagenotfoundhandling”扩展配置中将403页面配置为登录页面。

然后,当您尝试访问“访问受限页面”时,“pagenotfoundhandling”将重定向到登录页面,然后 pagenotfoundhandling 处理重定向到再次请求的页面。我已经在 TYPO3 6.2.14 上测试过了

于 2015-09-21T13:58:37.627 回答
0

我发现了另一种解决方法,看起来应该可以正常工作。

# pages and subpages starting at 123 and 321 are restricted
[PIDinRootline = 123,321] && [loginUser = ]
    page.headerData.666 = TEXT
    page.headerData.666 {
        data = getIndpEnv:TYPO3_REQUEST_URL
        wrap = <meta http-equiv="refresh" content="0; URL=/passwort/?referer= | " />
    }
[global]

重要提示:不要限制整个页面,只限制页面的所有内容。否则 RealURL 将触发 404 处理程序。

目前 page.config.additionalHeaders(就像 @Mateng 使用的一样)不支持 stdWrap,尽管您无法添加引荐来源以在登录后重定向到所需的页面(请参阅TYPO3 Forge并投票支持功能请求)。

于 2014-09-03T17:07:33.887 回答
0

因为 TYPO3 的这种行为似乎没有合适的解决方案,所以我对 RealURL 使用了以下解决方法。

  1. 在 TYPO3 中创建 404 页面
  2. 口语 URL 路径段设置为“ 404-error ”并选中 覆盖整个页面路径
  3. 添加描述正在发生的事情的文本(即“页面不存在或受到限制,请登录”)
  4. 将 felogin 插件添加到该页面并在用户登录时将其隐藏
  5. [FE][pageNotFound_handling] = /404-error/在安装工具中设置

每次用户请求一个不允许他查看的页面或一个不存在的页面时,都会显示此404 错误页面。当用户在页面上使用登录表单时,他会在登录后立即找到正确的内容,因为 URI 根本没有改变(当没有为 fe_login 插件配置重定向时)。

于 2014-09-03T16:59:07.183 回答
0

完整的解决方案:1.首先在typo3conf/LocalConfiguration.php中你必须添加:

'FE' => [
        'pageNotFound_handling' => 'REDIRECT:/login/',
        "pageNotFound_handling_statheader" => 'HTTP/1.1 404 Not Found',
         ...
],
  1. 然后添加到打字稿:

    '

    配置 {typolinkLinkAccessRestrictedPages = YOUR_LOGIN_PAGE_ID typolinkLinkAccessRestrictedPages_addParams = &return_url=###RETURN_URL### } plugin.tx_felogin_pi1.redirectMode = referer

'

于 2017-01-06T12:35:47.170 回答