Bug #96813
closed
BeforeRedirectEvent is not useful at all because it accepts no arguments and the return value is ignored
Added by S P over 2 years ago.
Updated about 1 month ago.
Description
Steps to reproduce:
- Register your event class at the
BeforeRedirectEvent
- Let felogin trigger a redirect
- the event gets fired
- Problem: you have no way to do anything meaningful because the result value is not returned and no objects (e.g. the
LoginConroller
) are passed as argument.
The event gets the redirect URL and the login-type passed as parameter. But you neither can return a changed redirect URL nor change the calling controller (e.g. to inject another redirect URL).
The Event should provide at least one way to actually use the result from the event.
I flagged this as a bug, not as a feature, because the feature itself (the event) is already there, but it's just dead code.
- Related to Bug #92068: felogin (extbase) redirect from GET/POST is not working properly added
Reproducing step 2 should be "Let felogin trigger a releoad redirect", of course.
- Related to Bug #90157: missing possibility to send return_url Parameter with 403 standard errorhandler added
- Related to Bug #91844: felogin Redirect to referer is not working at all with Site config 403 errorHandler added
- Related to Epic #96814: Totally broken felogin redirect mechanism added
For people with similar problems:
In the event I do this:
$myChangedRedirectUrl = $event->getRedirectUrl();
// here change $myChangedRedirectUrl
\header('Location: ' . $myChangedRedirectUrl);
throw new \TYPO3\CMS\Extbase\Mvc\Exception\StopActionException();
This is totally off-framework, but afaics the only way to achieve anything with this event. Feels totally ugly and hacky.
BeforeRedirectEvent
does work, I just does not match with your expectations.
The original change in issue #88740 has been merged two years ago for TYPO3 v10.4.0.
- Subject changed from BeforeRedirectEvent is not working to BeforeRedirectEvent is not useful at all because it accepts no arguments and the return value is ignored
- Description updated (diff)
I'm fine changing this. Reading through the passive aggressive rants in this issue took me longer than the actual fix.
- Status changed from New to Under Review
- Status changed from Under Review to Resolved
- % Done changed from 0 to 100
- Status changed from Resolved to Under Review
- Status changed from Under Review to Resolved
- Status changed from Resolved to Closed
Also available in: Atom
PDF