8000 bug #17559 [SecurityBundle] Fix HTTP Digest auth not being passed use… · symfony/symfony@786c485 · GitHub
[go: up one dir, main page]

Skip to content

Commit 786c485

Browse files
committed
bug #17559 [SecurityBundle] Fix HTTP Digest auth not being passed user checker (SamFleming)
This PR was merged into the 2.8 branch. Discussion ---------- [SecurityBundle] Fix HTTP Digest auth not being passed user checker | Q | A | ------------- | --- | Bug fix? | yes | New feature? | no | BC breaks? | no | Deprecations? | no | Tests pass? | yes | Fixed tickets | | License | MIT | Doc PR | Wasn't sure if this was a bug so posted here http://stackoverflow.com/q/35022776/727236. However, after comparing the 2.3 branch and 2.8 branch I think it was a bug. When trying to use `http_digest` on Symfony 2.8 you're greeted with the error `Argument 2 passed to Symfony\Component\Security\Core\Authentication\Provider\DaoAuthenticationProvider::__construct() must be an instance of Symfony\Component\Security\Core\User\UserCheckerInterface`. The exact same `security.yml` works fine on v2.3.37. Comparing the branches for the SecurityBundle I found that commit 05be5da1710ab681a04334d58126f8c3d431e3cb added the ability to configure a user checker on a per firewall basis. It seems that this commit seems to have missed updating the HttpDigestFactory (although it did update the other factories such as the [HttpBasicFactory](symfony/security-bundle@05be5da#diff-5f3e10fcc9de40dd09a8f3df3bdc9316)). Testing this in my Symfony 2.8 app now works. However, I haven't been able to figure out what unit tests to write confirming this, does anyone with more experience on the SecurityBundle have any pointers? Commits ------- 517a9a2 Fixed HTTP Digest auth not being passed user checker
2 parents 6704f62 + 517a9a2 commit 786c485

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

src/Symfony/Bundle/SecurityBundle/DependencyInjection/Security/Factory/HttpDigestFactory.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ public function create(ContainerBuilder $container, $id, $config, $userProvider,
2929
$container
3030
->setDefinition($provider, new DefinitionDecorator('security.authentication.provider.dao'))
3131
->replaceArgument(0, new Reference($userProvider))
32+
->replaceArgument(1, new Reference('security.user_checker.'.$id))
3233
->replaceArgument(2, $id)
3334
;
3435

0 commit comments

Comments
 (0)
0