Skip to content

Commit c2be78b

Browse files
ryancastleweaverryan
ryancastle
authored andcommitted
Removed redundant POST request exclusion info
The default ``ExceptionListener::setTargetPath()`` already excludes POSTs/PUTs, so suggesting that people who implement their own listener to do this is a bit misleading. However, doing this to prevent XMLHttpRequest URIs from being saved is still valuable.
1 parent c4eb628 commit c2be78b

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

cookbook/security/target_path.rst

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ the name of the firewall, defined in ``security.yml``). Upon a successful
1010
login, the user is redirected to this path, as to help them continue from the
1111
last known page they visited.
1212

13-
On some occasions, this is unexpected. For example when the last request
14-
URI was an HTTP POST against a route which is configured to allow only a POST
15-
method, the user is redirected to this route only to get a 404 error.
13+
On some occasions, this is unexpected. For example when the last request before logout
14+
was an XMLHttpRequest route, the user may be redirected back to an invalid
15+
route.
1616

1717
To get around this behavior, you would simply need to extend the ``ExceptionListener``
1818
class and override the default method named ``setTargetPath()``.
@@ -56,9 +56,10 @@ Next, create your own ``ExceptionListener``::
5656
{
5757
protected function setTargetPath(Request $request)
5858
{
59-
// Do not save target path for XHR and non-GET requests
59+
// Do not save target path for XHR requests
6060
// You can add any more logic here you want
61-
if ($request->isXmlHttpRequest() || 'GET' !== $request->getMethod()) {
61+
// Note that non-GET requests are already ignored
62+
if ($request->isXmlHttpRequest()) {
6263
return;
6364
}
6465

0 commit comments

Comments
 (0)