File tree 1 file changed +13
-0
lines changed
src/Symfony/Component/Security/Http 1 file changed +13
-0
lines changed Original file line number Diff line number Diff line change 16
16
use Symfony \Component \HttpKernel \Event \FinishRequestEvent ;
17
17
use Symfony \Component \HttpKernel \Event \GetResponseEvent ;
18
18
use Symfony \Component \HttpKernel \KernelEvents ;
19
+ use Symfony \Component \Security \Http \Firewall \AccessListener ;
19
20
20
21
/**
21
22
* Firewall uses a FirewallMap to register security listeners for the given
@@ -58,8 +59,16 @@ public function onKernelRequest(GetResponseEvent $event)
58
59
$ exceptionListener ->register ($ this ->dispatcher );
59
60
}
60
61
62
+ $ accessListener = null ;
63
+
61
64
// initiate the listener chain
62
65
foreach ($ authenticationListeners as $ listener ) {
66
+ if ($ listener instanceof AccessListener) {
67
+ $ accessListener = $ listener ;
68
+
69
+ continue ;
70
+ }
71
+
63
72
$ listener ->handle ($ event );
64
73
65
74
if ($ event ->hasResponse ()) {
@@ -70,6 +79,10 @@ public function onKernelRequest(GetResponseEvent $event)
70
79
if (null !== $ logoutListener ) {
71
80
$ logoutListener ->handle ($ event );
72
81
}
82
+
83
+ if (!$ event ->hasResponse () && null !== $ accessListener ) {
84
+ $ accessListener ->handle ($ event );
85
+ }
73
86
}
74
87
75
88
public function onKernelFinishRequest (FinishRequestEvent $ event )
You can’t perform that action at this time.
0 commit comments