Bug #94963

PageRouter generates invalid URLs for access restricted mountpoints

Added by Georg Tiefenbrunn 4 months ago.

Status:
New
Priority:
Should have
Assignee:
-
Category:
Link Handling, Site Handling & Routing
Target version:
-
Start date:
2021-08-23
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
10
PHP Version:
Tags:
Complexity:
Is Regression:
Sprint Focus:

Description

site
  + A [id=1, slug=/a]
    + B [id=2, slug=/a/b]
  + C [id=3, slug=/c, mount_pid=1, mount_pid_ol=1]

If A has no access restriction (fe_group) links generated using \TYPO3\CMS\Frontend\DataProcessing\MenuProcessor (HMENU, special=list) are valid. The mounted page B will point to /c/b.

If access restrictions are applied (showAccessRestrictedPages=1) PageRouter::resolveMountPointParameterIntoPageSlug() does not remove the slug prefix. The mounted page B will point to /c/a/b.

master: https://github.com/TYPO3/typo3/blob/master/typo3/sysext/core/Classes/Routing/PageRouter.php#L429
10.4: https://github.com/TYPO3/typo3/blob/10.4/typo3/sysext/core/Classes/Routing/PageRouter.php#L428

                $mountedPage = $pageRepository->getPage($mountedPage);
                $mountRoot = $pageRepository->getPage($mountRoot);

If getPage() is called using $disableGroupAccessCheck=true valid URLs are generated.

No data to display

Also available in: Atom PDF