Роль LDAP в Symfony 4 - PullRequest
       21

Роль LDAP в Symfony 4

0 голосов
/ 04 февраля 2020

Я использую компонент ldap в своем проекте в Symfony 4. Он отлично работает, успешно проходит аутентификацию, но единственная роль, которую я могу установить для пользователей, - это default_role, предоставленный в опции поставщика ldap в безопасности. yaml ... Все, что я обнаружил c, оказалось не очень полезным, используют ли люди базу данных для управления пользователями или они не говорят о роли, когда используют компонент ldap. Вот мой security.yaml, если нужно:

security.yaml:

security:
# https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers
providers:
    #in_memory: { memory: null }

    my_ldap:
        ldap:
            service: Symfony\Component\Ldap\Ldap
            base_dn: 'my_base_dn'
            search_dn: 'my_search_dn'
            search_password: '%env(resolve:LDAP_PASSWORD)%'
            default_roles: ROLE_USER #rôle par défaut donné à l'utilisateur authentifié

firewalls:
    dev:
        pattern: ^/(_(profiler|wdt)|css|images|js)/
        security: false
    main:
        anonymous: ~

        form_login_ldap:
            provider: my_ldap
            service: Symfony\Component\Ldap\Ldap
            dn_string: 'my_dn_string'
            query_string: '(&(sAMAccountName={username})(memberOf=CN=***))'
            login_path: login #route vers laquelle l'utilisateur sera redirigé si il tente d'accéder à une ressource protégé sans être authentifié
        #/!\/!\/!\ NE PAS METTRE EN COMMENTAIRE SINON SUPPRESSION DES LOGS D'ERREURS !! /!\/!\/!\
            check_path: login #route vers laquelle doit être envoyé la requête POST du formulaire
            always_use_default_target_path: true
            default_target_path: homePage #page vers laquelle l'utilisateur authentifié est redirigé

        logout:
                path: app_logout
                target: login
        # activate different ways to authenticate
        # https://symfony.com/doc/current/security.html#firewalls-authentication

        # https://symfony.com/doc/current/security/impersonating_user.html
        # switch_user: true

Если у кого-то есть решение или идея !!

...