Новое в Symfony 2.8: LDAP компонент

LDAP, которая выступает как облегчённый протокол доступа к каталогам, является «an open standard for accessing and maintaining distributed directory information services over an Internet Protocol (IP) network».

LDAP используется многими компаниями,  как централизованное хранилище информации о пользователях, в том числе об их ролях безопасности, а также в качестве службы проверки подлинности. Вот почему Symfony 2.8 включает в себя новый компонент LDAP, который обеспечивает бесшовную интеграцию с компонентом безопасности Symfony.

Перед включением проверки подлинности LDAP, определить новую службу для настройки параметров подключения, такие как хост, порт, в LDAP версии, и т.д.

# app/config/services.yml
services:
    app.ldap:
        class: Symfony\Component\Security\Ldap\Ldap
        arguments: [ "ldap.example.com" ]

Затем, вы можете использовать компонент LDAP и как user provider, и как механизм аутентификации в брандмауэре. Эти настраиваемые поля для LDAP user provider:

# app/config/security.yml
security:
    # ...

    providers:
        app_users:
            ldap:
                service: app.ldap
                base_dn: dc=example,dc=com
                search_dn: CN=My User,OU=Users,DC=example,DC=com
                search_password: p455w0rd
                filter: (sAMAccountName={username})
                default_roles: ROLE_USER

При использовании в качестве механизма аутентификации, вы можете настроить его для работы с формой регистрации  или стандартной HTTP аутентификации:

# app/config/security.yml
security:
    # ...

firewalls:
    api:
        provider:  app_users
        stateless: true
        pattern:   ^/api
        http_basic_ldap:
            service: app.ldap
            dn_string: "{username}@example"
    backend:
        provider: app_users
        pattern:  ^/admin
        logout:
            path:   logout
            target: login
        form_login_ldap:
            service: app.ldap
            dn_string: CN={username},OU=Users,DC=example,DC=com
            check_path: login_check
            login_path: login

Этот компонент основан на расширении PHP LDAP, поэтому убедитесь, что это расширение PHP настроена и включена , прежде чем использовать этот компонент.

Источник: http://symfony.com/blog/new-in-symfony-2-8-ldap-component

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

5 × три =