@@ -5,11 +5,11 @@ How to Create and Enable Custom User Checkers
55=============================================
66
77During the authentication of a user, additional checks might be required to verify
8- if the identified user is allowed to log in. By defining custom user checkers , you
9- can define per firewall which checkers should be used.
8+ if the identified user is allowed to log in. By defining a custom user checker , you
9+ can define per firewall which checker should be used.
1010
1111.. versionadded :: 2.8
12- Adding custom user checkers was introduced in Symfony 2.8.
12+ Defining a custom user checker was introduced in Symfony 2.8.
1313
1414
1515Creating a Custom User Checker
@@ -80,8 +80,7 @@ other service:
8080 xsi : schemaLocation =" http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd" >
8181
8282 <services >
83- <service id =" app.user_checker" class =" App\Security\UserChecker" >
84- </service >
83+ <service id =" app.user_checker" class =" App\Security\UserChecker" />
8584 </services >
8685 </container >
8786
@@ -107,7 +106,7 @@ is the service id of your user checker:
107106 firewalls :
108107 secured_area :
109108 pattern : ^/
110- user_checkers : [" app.user_checker"]
109+ user_checker : app.user_checker
111110 # ...
112111
113112 .. code-block :: xml
@@ -123,7 +122,7 @@ is the service id of your user checker:
123122 <config >
124123 <!-- ... -->
125124 <firewall name =" secured_area" pattern =" ^/" >
126- <user-checkers >app.user_checker</user-checkers >
125+ <user-checker >app.user_checker</user-checker >
127126 <!-- ... -->
128127 </firewall >
129128 </config >
@@ -138,7 +137,7 @@ is the service id of your user checker:
138137 'firewalls' => array(
139138 'secured_area' => array(
140139 'pattern' => '^/',
141- 'user_checkers ' => array( 'app.user_checker') ,
140+ 'user_checker ' => 'app.user_checker',
142141 // ...
143142 ),
144143 ),
@@ -148,10 +147,7 @@ is the service id of your user checker:
148147 Additional Configurations
149148-------------------------
150149
151- It's possible to add multiple user checkers to one firewall while
152- configuring only one user checker for another firewall. When adding
153- multiple user checkers, they are executed in the same sequence as
154- defined in your configuration.
150+ It's possible to have a different user checker per firewall.
155151
156152.. configuration-block ::
157153
@@ -164,11 +160,11 @@ defined in your configuration.
164160 firewalls :
165161 admin :
166162 pattern : ^/admin
167- user_checkers : [" app.user_checker", "app.admin_checker"]
163+ user_checker : app.admin_user_checker
168164 # ...
169165 secured_area :
170166 pattern : ^/
171- user_checkers : [" app.user_checker"]
167+ user_checker : app.user_checker
172168
173169 .. code-block :: xml
174170
@@ -183,12 +179,11 @@ defined in your configuration.
183179 <config >
184180 <!-- ... -->
185181 <firewall name =" admin" pattern =" ^/admin" >
186- <user-checkers >app.user_checker</user-checkers >
187- <user-checkers >app.admin_checker</user-checkers >
182+ <user-checker >app.admin_user_checker</user-checker >
188183 <!-- ... -->
189184 </firewall >
190185 <firewall name =" secured_area" pattern =" ^/" >
191- <user-checkers >app.user_checker</user-checkers >
186+ <user-checker >app.user_checker</user-checker >
192187 <!-- ... -->
193188 </firewall >
194189 </config >
@@ -203,16 +198,18 @@ defined in your configuration.
203198 'firewalls' => array(
204199 'admin' => array(
205200 'pattern' => '^/admin',
206- 'user_checkers' => array(
207- 'app.user_checker',
208- 'app.admin_checker',
209- ),
201+ 'user_checkers' => 'app.admin_user_checker'
210202 // ...
211203 ),
212204 'secured_area' => array(
213205 'pattern' => '^/',
214- 'user_checkers ' => array( 'app.user_checker') ,
206+ 'user_checker ' => 'app.user_checker',
215207 // ...
216208 ),
217209 ),
218210 ));
211+
212+ .. note ::
213+
214+ Internally the user checkers are aliased per firewall. For `secured_area ` the alias
215+ `security.user_checker.secured_area ` would point to `app.user_checker `.
0 commit comments