Skip to content

Commit ceceb3f

Browse files
committed
cr remarks
1 parent edce935 commit ceceb3f

File tree

6 files changed

+18
-101
lines changed

6 files changed

+18
-101
lines changed

phpstan-baseline.neon

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46965,11 +46965,6 @@ parameters:
4696546965
count: 1
4696646966
path: tests/lib/MVC/Symfony/Routing/UrlAliasRouterTest.php
4696746967

46968-
-
46969-
message: "#^Method Ibexa\\\\Tests\\\\Core\\\\MVC\\\\Symfony\\\\Security\\\\Authentication\\\\DefaultAuthenticationSuccessHandlerTest\\:\\:testSetConfigResolver\\(\\) has no return type specified\\.$#"
46970-
count: 1
46971-
path: tests/lib/MVC/Symfony/Security/Authentication/DefaultAuthenticationSuccessHandlerTest.php
46972-
4697346968
-
4697446969
message: "#^Call to an undefined method Symfony\\\\Component\\\\Security\\\\Core\\\\Authentication\\\\Token\\\\TokenInterface\\:\\:getProviderKey\\(\\)\\.$#"
4697546970
count: 1

src/bundle/Core/DependencyInjection/Compiler/SecurityPass.php

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
namespace Ibexa\Bundle\Core\DependencyInjection\Compiler;
99

1010
use Ibexa\Contracts\Core\Repository\PermissionResolver;
11-
use Ibexa\Core\MVC\Symfony\Security\Authentication\DefaultAuthenticationSuccessHandler;
1211
use Ibexa\Core\MVC\Symfony\Security\Authentication\GuardRepositoryAuthenticationProvider;
1312
use Ibexa\Core\MVC\Symfony\Security\Authentication\RememberMeRepositoryAuthenticationProvider;
1413
use Ibexa\Core\MVC\Symfony\Security\HttpUtils;
@@ -36,7 +35,6 @@ public function process(ContainerBuilder $container): void
3635
return;
3736
}
3837

39-
$configResolverRef = new Reference('ibexa.config.resolver');
4038
$permissionResolverRef = new Reference(PermissionResolver::class);
4139

4240
$rememberMeAuthenticationProviderDef = $container->findDefinition('security.authentication.provider.rememberme');
@@ -63,24 +61,5 @@ public function process(ContainerBuilder $container): void
6361
'setSiteAccess',
6462
[new Reference(SiteAccess::class)]
6563
);
66-
67-
if (!$container->hasDefinition('security.authentication.success_handler')) {
68-
return;
69-
}
70-
71-
$successHandlerDef = $container->getDefinition('security.authentication.success_handler');
72-
$successHandlerDef->setClass(DefaultAuthenticationSuccessHandler::class);
73-
$successHandlerDef->addMethodCall(
74-
'setConfigResolver',
75-
[$configResolverRef]
76-
);
77-
$successHandlerDef->addMethodCall(
78-
'setEventDispatcher',
79-
[new Reference('event_dispatcher')]
80-
);
81-
$successHandlerDef->addMethodCall(
82-
'setPermissionResolver',
83-
[$permissionResolverRef]
84-
);
8564
}
8665
}

src/bundle/Core/Resources/config/security.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,3 +47,11 @@ services:
4747
Ibexa\Core\MVC\Symfony\Security\Authentication\EventSubscriber\AccessDeniedSubscriber:
4848
autowire: true
4949
autoconfigure: true
50+
51+
Ibexa\Core\MVC\Symfony\Security\Authentication\DefaultAuthenticationSuccessHandler:
52+
autowire: true
53+
autoconfigure: true
54+
abstract: true
55+
decorates: security.authentication.success_handler
56+
arguments:
57+
$innerHandler: '@.inner'

src/lib/MVC/Symfony/Security/Authentication/DefaultAuthenticationSuccessHandler.php

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,13 @@
1919

2020
final class DefaultAuthenticationSuccessHandler extends BaseSuccessHandler
2121
{
22-
private EventDispatcherInterface $eventDispatcher;
23-
24-
private ConfigResolverInterface $configResolver;
25-
26-
private PermissionResolver $permissionResolver;
22+
public function __construct(
23+
private readonly BaseSuccessHandler $innerHandler,
24+
private EventDispatcherInterface $eventDispatcher,
25+
private ConfigResolverInterface $configResolver,
26+
private PermissionResolver $permissionResolver,
27+
) {
28+
}
2729

2830
/**
2931
* Injects the ConfigResolver to potentially override default_target_path for redirections after authentication success.
@@ -50,7 +52,7 @@ public function onAuthenticationSuccess(Request $request, TokenInterface $token)
5052
$this->permissionResolver->setCurrentUserReference($user->getAPIUser());
5153
}
5254

53-
return parent::onAuthenticationSuccess($request, $token);
55+
return $this->innerHandler->onAuthenticationSuccess($request, $token);
5456
}
5557

5658
protected function determineTargetUrl(Request $request): string
@@ -74,6 +76,6 @@ protected function determineTargetUrl(Request $request): string
7476
$this->options = $event->getOptions();
7577
}
7678

77-
return parent::determineTargetUrl($request);
79+
return $this->innerHandler->determineTargetUrl($request);
7880
}
7981
}

src/lib/MVC/Symfony/Security/Authentication/EventSubscriber/AccessDeniedSubscriber.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
1616
use Symfony\Component\Security\Core\Exception\AccessDeniedException;
1717

18-
final class AccessDeniedSubscriber implements EventSubscriberInterface
18+
final readonly class AccessDeniedSubscriber implements EventSubscriberInterface
1919
{
2020
public function __construct(private UrlGeneratorInterface $urlGenerator)
2121
{

tests/lib/MVC/Symfony/Security/Authentication/DefaultAuthenticationSuccessHandlerTest.php

Lines changed: 0 additions & 67 deletions
This file was deleted.

0 commit comments

Comments
 (0)