diff options
author | Fabien Potencier <fabien.potencier@gmail.com> | 2011-08-23 08:52:35 +0200 |
---|---|---|
committer | Fabien Potencier <fabien.potencier@gmail.com> | 2011-08-23 08:52:35 +0200 |
commit | faa9ecf147952d035e6f3c41805100bca503e2b3 (patch) | |
tree | 3d2ae341bd48ffaaee99db5a9347287d5d084488 /Http | |
parent | 86683aae5af52e8128f225d67f6581140180f2c4 (diff) | |
parent | 621bf9b2780a860da4508fd1039ea626ea42faef (diff) | |
download | symfony-security-faa9ecf147952d035e6f3c41805100bca503e2b3.zip symfony-security-faa9ecf147952d035e6f3c41805100bca503e2b3.tar.gz symfony-security-faa9ecf147952d035e6f3c41805100bca503e2b3.tar.bz2 |
merged branch Abhoryo/patch-1 (PR #1956)v2.0.1
Commits
-------
e9d2a67 CS
3a64b08 Search in others user providers when a user is not found in the first user provider and throws the right exception.
Discussion
----------
Chain user provider doesn't search in all user providers
I commit these changes because Chain user provider doesn't search in all user providers.
Example with the Acme/DemoBundle:
// security.yml
...
providers:
chain_provider:
providers: [in_memory, in_memory_extend]
in_memory_extend:
users:
admin2: { password: adminpass2, roles: [ 'ROLE_ADMIN' ] }
in_memory:
users:
user: { password: userpass, roles: [ 'ROLE_USER' ] }
...
firewalls:
...
secured_area:
pattern: ^/demo/secured/
provider: chain_provider OR in_memory_extend
...
We can see these logs :
security.INFO: User "admin2" has been authenticated successfully [] []
security.DEBUG: Write SecurityContext in the session [] []
security.DEBUG: Read SecurityContext from the session [] []
security.DEBUG: Reloading user from user provider. [] []
security.WARNING: Username "admin2" could not be found. [] []
The new code search in others user providers when a user is not found in the first user provider and throws the right exception.
---------------------------------------------------------------------------
by lsmith77 at 2011/08/14 12:20:04 -0700
I wonder if it should be a provider option to continue on a failed user lookup. I can see cases where you really dont want to iterate over all providers and others where you do.
---------------------------------------------------------------------------
by Abhoryo at 2011/08/14 17:27:16 -0700
If someone need a provider like you describe, he can create one.
Here we talk about a chain user provider.
Doc : [using-multiple-user-providers](http://symfony.com/doc/current/book/security.html#using-multiple-user-providers)
We can read in the doc: "The chain_provider will, in turn, try to load the user from both the in_memory and user_db providers."
But its not the case right now.
Diffstat (limited to 'Http')
0 files changed, 0 insertions, 0 deletions