-
-
Notifications
You must be signed in to change notification settings - Fork 5.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Cookbook][Security] Added doc for x509 pre authenticated listener #3913
Changes from 1 commit
6c9a204
f5a6d58
83c40e9
01d18fe
57cc957
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
.. index:: | ||
single: Security; Pre authenticated providers | ||
|
||
Using pre authenticated security firewalls | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. According to our standard this should be "Using pre Authenticated Security Firewalls". |
||
========================================== | ||
|
||
A lot of authentication modules are already provided by some webservers, | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think "web servers" is a bit more correct? |
||
including Apache. These modules generally set some environment variables | ||
that can be used to know which user is accessing your application. Out of the | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [...] be used to determine which user [...] |
||
box, Symfony supports most authentication mecanisms. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. mechanisms |
||
These are called *pre authenticated* requests because the user is already | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. These requests [...] |
||
authenticated when reaching your application. | ||
|
||
.. note:: | ||
|
||
An authentication provider will only inform the user provider of the username | ||
that made the request. You will need to either use an available | ||
:class:`Symfony\\Component\\Security\\Core\\User\\UserProviderInterface` | ||
or implement your own: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. How about:
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Hmm, and I'm thinking that we should move this down to the end of the entry, and mix it with the conversation about And what is the use-cause for needing Thanks! There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't know exactly what use-case there is for the credentials in the I think @fabpot implemented the X509 auth and might be able to answer that question. |
||
|
||
* :doc:`/cookbook/security/entity_provider` | ||
* :doc:`/cookbook/security/custom_provider` | ||
|
||
X.509 Client certificate authentication | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. X.509 Client Certificate Authentication |
||
--------------------------------------- | ||
|
||
When using client certificate, your webserver is doing all the authentication | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. certificates |
||
process itself. For Apache, on your VirtualHost, you may use the | ||
``SSLVerifyClient Require`` directive. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'd reword this a bit:
|
||
|
||
On your Symfony2 application security configuration, you can enable the x509 | ||
authentication firewall: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'd reword this also to something like this:
|
||
|
||
.. configuration-block:: | ||
|
||
.. code-block:: yaml | ||
|
||
# app/config/security.yml | ||
security: | ||
firewalls: | ||
secured_area: | ||
pattern: ^/ | ||
x509: | ||
provider: your_user_provider | ||
|
||
.. code-block:: xml | ||
|
||
<!-- app/config/security.xml --> | ||
<config> | ||
<firewall name="secured_area" pattern="^/"> | ||
<x509 provider="your_user_provider"/> | ||
</firewall> | ||
</config> | ||
|
||
.. code-block:: php | ||
|
||
// app/config/security.php | ||
$container->loadFromExtension('security', array( | ||
'firewalls' => array( | ||
'secured_area' => array( | ||
'pattern' => '^/' | ||
'x509' => array( | ||
'provider' => 'your_user_provider', | ||
), | ||
), | ||
), | ||
)); | ||
|
||
By default, the firewall will provide the ``SSL_CLIENT_S_DN_Email`` variable to | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [...] the firewall provides [...] |
||
your user provider, and set the ``SSL_CLIENT_S_DN`` as credentials in the | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [...] user provider and sets the [...] |
||
:class:`Symfony\\Component\\Security\\Core\\Authentication\\Token\\PreAuthenticatedToken`. | ||
You can override these by setting respectively the ``user`` and the ``credentials`` keys | ||
in the x509 firewall configuration. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. move |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This also needs to be added to
/cookbook/map.rst.inc
.