@@ -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 usercheckers , you
9- can define per firewall whichcheckers should be used.
8+ if the identified user is allowed to log in. By defininga custom userchecker , you
9+ can define per firewall whichchecker should be used.
1010
1111..versionadded ::2.8
12- Adding custom usercheckers was introduced in Symfony 2.8.
12+ Defining a custom userchecker was introduced in Symfony 2.8.
1313
1414
1515Creating a Custom User Checker
@@ -80,8 +80,7 @@ other service:
8080xsi : 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:
107106firewalls :
108107secured_area :
109108pattern :^/
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.
164160firewalls :
165161admin :
166162pattern :^/admin
167- user_checkers : [" app.user_checker", "app.admin_checker"]
163+ user_checker : app.admin_user_checker
168164# ...
169165secured_area :
170166pattern :^/
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 `.