@@ -5,11 +5,11 @@ How to Create and Enable Custom User Checkers
5
5
=============================================
6
6
7
7
During 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.
10
10
11
11
.. 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.
13
13
14
14
15
15
Creating a Custom User Checker
@@ -80,8 +80,7 @@ other service:
80
80
xsi : schemaLocation =" http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd" >
81
81
82
82
<services >
83
- <service id =" app.user_checker" class =" App\Security\UserChecker" >
84
- </service >
83
+ <service id =" app.user_checker" class =" App\Security\UserChecker" />
85
84
</services >
86
85
</container >
87
86
@@ -107,7 +106,7 @@ is the service id of your user checker:
107
106
firewalls :
108
107
secured_area :
109
108
pattern : ^/
110
- user_checkers : [" app.user_checker"]
109
+ user_checker : app.user_checker
111
110
# ...
112
111
113
112
.. code-block :: xml
@@ -123,7 +122,7 @@ is the service id of your user checker:
123
122
<config >
124
123
<!-- ... -->
125
124
<firewall name =" secured_area" pattern =" ^/" >
126
- <user-checkers >app.user_checker</user-checkers >
125
+ <user-checker >app.user_checker</user-checker >
127
126
<!-- ... -->
128
127
</firewall >
129
128
</config >
@@ -138,7 +137,7 @@ is the service id of your user checker:
138
137
'firewalls' => array(
139
138
'secured_area' => array(
140
139
'pattern' => '^/',
141
- 'user_checkers ' => array( 'app.user_checker') ,
140
+ 'user_checker ' => 'app.user_checker',
142
141
// ...
143
142
),
144
143
),
@@ -148,10 +147,7 @@ is the service id of your user checker:
148
147
Additional Configurations
149
148
-------------------------
150
149
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.
155
151
156
152
.. configuration-block ::
157
153
@@ -164,11 +160,11 @@ defined in your configuration.
164
160
firewalls :
165
161
admin :
166
162
pattern : ^/admin
167
- user_checkers : [" app.user_checker", "app.admin_checker"]
163
+ user_checker : app.admin_user_checker
168
164
# ...
169
165
secured_area :
170
166
pattern : ^/
171
- user_checkers : [" app.user_checker"]
167
+ user_checker : app.user_checker
172
168
173
169
.. code-block :: xml
174
170
@@ -183,12 +179,11 @@ defined in your configuration.
183
179
<config >
184
180
<!-- ... -->
185
181
<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 >
188
183
<!-- ... -->
189
184
</firewall >
190
185
<firewall name =" secured_area" pattern =" ^/" >
191
- <user-checkers >app.user_checker</user-checkers >
186
+ <user-checker >app.user_checker</user-checker >
192
187
<!-- ... -->
193
188
</firewall >
194
189
</config >
@@ -203,16 +198,18 @@ defined in your configuration.
203
198
'firewalls' => array(
204
199
'admin' => array(
205
200
'pattern' => '^/admin',
206
- 'user_checkers' => array(
207
- 'app.user_checker',
208
- 'app.admin_checker',
209
- ),
201
+ 'user_checkers' => 'app.admin_user_checker'
210
202
// ...
211
203
),
212
204
'secured_area' => array(
213
205
'pattern' => '^/',
214
- 'user_checkers ' => array( 'app.user_checker') ,
206
+ 'user_checker ' => 'app.user_checker',
215
207
// ...
216
208
),
217
209
),
218
210
));
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