kitzberger/40x-handler

This package is abandoned and no longer maintained. The author suggests using the kitzberger/fox-handler package instead.

TYPO3 Fox Handler

Installs: 424

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 2

Forks: 0

Open Issues: 0

Type:typo3-cms-extension

4.0.1 2024-03-03 13:15 UTC

This package is auto-updated.

Last update: 2024-03-03 13:16:20 UTC


README

This extension provides a handler for page access errors (formerly known as pageNotFoundHandler) that is able to handle 403 responses.

Installation

Configuration

With site configurations (modern)

In the site configuration mask you need to setup a PHP error handler pointing to Kitzberger\FourOhExHandler\ErrorHandler and set the 404 respective 403 page(s): site configuration mask

403 pages

Here you've got two options:

  • set it to a single pid, e.g. 123
  • set it to a mapping of "fe_groups to pids", e.g. 40=3601,64=3602

The latter example means that the user is being forwarded to

  • page 3601 when accessing a page that's only visible for fe_group 40
  • page 3602 when accessing a page that's only visible for fe_group 64

In either case the user is being forwarded with an additional GET parameter redirect_url containing the accessed URL.

Hint:

  • Use -2 as fe_group option "Show at any login".
  • Use * as a wild card. Makes sense at the end of the mapping list.

Here's an example page's "Usergroup Access Rights": page's Usergroup Access Rights

When determining the right 403 page the extension checks for all of the pages fe_groups for which one a 403 page has been configured. The first one found will be taken.

Trouble shooting

The extension uses TYPO3's logger interface, so by adding this to your configuration (e.g. AdditionalConfiguration.php) you can have a look into the program's flow:

$logWriterConf = [
    'Kitzberger' => [
        'FourOhExHandler' => [
            'writerConfiguration' => [
                \TYPO3\CMS\Core\Log\LogLevel::DEBUG => [
                    \TYPO3\CMS\Core\Log\Writer\FileWriter::class => [
                        'logFileInfix' => 'fox-handler'
                    ],
                ],
            ],
        ],
    ],
];
$GLOBALS['TYPO3_CONF_VARS']['LOG'] = array_replace_recursive($GLOBALS['TYPO3_CONF_VARS']['LOG'], $logWriterConf);