9

制限されたページへのリンクがあります。ログアウト状態でリンクに直接アクセスすると、404 にリダイレクトされます。実際には、ログイン フォームにリダイレクトされるはずです。

私は試した:

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

動作していません。

また、ログインステータスリダイレクトプラグインを試しましたが、役に立ちませんでした。

誰でもこれを行う方法を知っていますか? TYPO3 バージョン 4.4.8 を使用しています。

4

6 に答える 6

1

リダイレクトを正しく機能させる方法はわかりませんが、少し背景が役立つかもしれません。

TypolinkLinkAccessRestrictedPages は、リンクの生成とのみ対話します。そうすれば、アクセスが制限されたページへのリンクがある場所ならどこでも、「PAGE Id」ページを指すリンクを取得する必要があります。PAGE Id の代わりにログイン pid を使用していると思われますが、これでうまくいくはずですが、私はこの特定の機能を使用していません。TypolinkLinkAccessRestrictedPages = NONE を使用すると、すべてのリンクが表示され、正しい URL にリンクされますが、ログインしているユーザーのみがそれらのページを正常に読み込むことができます。

ログインせずにアクセス制限ページへのブックマークを使用したり、これらのリンクのいずれかをクリックしたり、アドレスを直接入力したりすると、TYPO3 の 404 処理に遭遇します (エラーメッセージ: IDアクセス可能なページではありませんでした)。TYPO3 がこれらのエラーを処理する方法を変更するには、localconf.php の次の設定を介して TYPO3 の動作を変更する必要があります。

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

pageNotFound_handling をハッキングせずに、ログイン ページに自動的にリダイレクトするクリーンな方法があるかどうかはわかりません。

タイポスクリプト ソリューションに関する限り、それは私のサイトでは機能しません。トリガーは、誰かがログインしているかどうかではないためです (多くの場合、ログインしていません)。私のサイトのトリガーは、多くのページはログインを必要としないため、ログインしていないすべての人をリダイレクトしたくありません。

于 2012-07-04T00:46:15.463 に答える
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

完全な解決策: 1. まず、typo3conf/LocalConfiguration.php に以下を追加する必要があります。

'FE' => [
        'pageNotFound_handling' => 'REDIRECT:/login/',
        "pageNotFound_handling_statheader" => 'HTTP/1.1 404 Not Found',
         ...
],
  1. 次に、タイプスクリプトに追加します。

    '

    config { TypolinkLinkAccessRestrictedPages = YOUR_LOGIN_PAGE_ID TypolinkLinkAccessRestrictedPages_addParams = &return_url=###RETURN_URL### } plugin.tx_felogin_pi1.redirectMode = referer

'

于 2017-01-06T12:35:47.170 に答える
0

TYPO3 のこの動作に対する適切な解決策がないように思われるため、RealURL で次の回避策を使用します。

  1. TYPO3 で 404 ページを作成する
  2. Speaking URL path セグメントを「404-error 」に設定し、Override the whole page pathにチェックを 入れます
  3. 何が起こっているかを説明するテキストを追加します (つまり、「ページが存在しないか、制限されています。ログインしてください」)。
  4. そのページに felogin プラグインを追加し、ユーザーがログインしているときに非表示にします
  5. [FE][pageNotFound_handling] = /404-error/インストールツールで設定

この404 エラーページは、ユーザーが表示を許可されていないページまたは存在しないページを要求するたびに表示されます。ユーザーがページのログイン フォームを使用すると、URI がまったく変更されていないため (fe_login プラグインにリダイレクトが構成されていない場合)、ログイン直後に適切なコンテンツが表示されます。

于 2014-09-03T16:59:07.183 に答える