Skip to content
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

[RFR] Documentation for the Ldap component #6402

Merged
merged 1 commit into from
May 29, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions components/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ The Components
http_foundation/index
http_kernel/index
intl
ldap
options_resolver
phpunit_bridge
process
Expand Down
72 changes: 72 additions & 0 deletions components/ldap.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
.. index::
single: Ldap
single: Components; Ldap

The Ldap Component
==================

The Ldap component provides a means to connect to an LDAP server (OpenLDAP or Active Directory).
Copy link
Contributor

@HeahDude HeahDude Apr 16, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It sounds weird to use an "a" with a plural, shouldn't it be "provides (the/some)? means"?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, this is how the word means works. In its singular form, it still takes an s. :)

Also, as the Ldap component is not the only means to connect to an LDAP server, the article a is correct, here. :)


Installation
------------

You can install the component in 2 different ways:

* :doc:`Install it via Composer </components/using_components>` (``symfony/ldap`` on `Packagist`_);
* Use the official Git repository (https://github.com/symfony/ldap).

.. include:: /components/require_autoload.rst.inc

Usage
-----

The :class:`Symfony\\Component\\Ldap\\LdapClient` class provides methods
to authenticate and query against an LDAP server.

The :class:`Symfony\\Component\\Ldap\\LdapClient` class can be configured
using the following options:

``host``
IP or hostname of the LDAP server

``port``
Port used to access the LDAP server

``version``
The version of the LDAP protocol to use

``useSsl``
Whether or not to secure the connection using SSL

``useStartTls``
Whether or not to secure the connection using StartTLS

``optReferrals``
Specifies whether to automatically follow referrals
returned by the LDAP server

For example, to connect to a start-TLS secured LDAP server::

use Symfony\Component\Ldap\LdapClient;

$ldap = new LdapClient('my-server', 389, 3, false, true);

The :method:`Symfony\\Component\\Ldap\\LdapClient::bind` method
authenticates a previously configured connection using both the
distinguished name (DN) and the password of a user::

use Symfony\Component\Ldap\LdapClient;
// ...

$ldap->bind($dn, $password);

Once bound (or if you enabled anonymous authentication on your
LDAP server), you may query the LDAP server using the
:method:`Symfony\\Component\\Ldap\\LdapClient::find` method::

use Symfony\Component\Ldap\LdapClient;
// ...

$ldap->find('dc=symfony,dc=com', '(&(objectclass=person)(ou=Maintainers))');

.. _Packagist: https://packagist.org/packages/symfony/ldap
4 changes: 4 additions & 0 deletions components/map.rst.inc
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,10 @@

* :doc:`/components/intl`

* **Ldap**

* :doc:`/components/ldap`

* **OptionsResolver**

* :doc:`/components/options_resolver`
Expand Down
1 change: 1 addition & 0 deletions cookbook/map.rst.inc
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,7 @@
* :doc:`Security Authentication (Identifying/Logging in the User) </cookbook/security/index>`

* :doc:`/cookbook/security/form_login_setup`
* :doc:`/cookbook/security/ldap`
* :doc:`/cookbook/security/entity_provider`
* :doc:`/cookbook/security/guard-authentication`
* :doc:`/cookbook/security/remember_me`
Expand Down
1 change: 1 addition & 0 deletions cookbook/security/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ Authentication (Identifying/Logging in the User)
:maxdepth: 2

form_login_setup
ldap
entity_provider
guard-authentication
remember_me
Expand Down
Loading