Skip to content

Provide example of Symfony\Component\Ldap\Security\MemberOfRoles role_fetcher #22236

@olberger

Description

@olberger

It would be great to have example of the role_fetcher usage with Symfony\Component\Ldap\Security\MemberOfRoles

Here are bits that may help improve the docs, based on the example from OpenLDAP Docker Image for testing:

In security.yaml:

security:
    providers:
        my_ldap:
            ldap:
                service: Symfony\Component\Ldap\Ldap
                base_dn: ou=people,dc=planetexpress,dc=com
                #default_roles: ROLE_USER
                uid_key: uid
                extra_fields: ['mail', 'memberOf']
                role_fetcher: Symfony\Component\Ldap\Security\MemberOfRoles

    firewalls:
        main:
            form_login_ldap:
                login_path: login
                check_path: login
                default_target_path: admin
                enable_csrf: true
                service: Symfony\Component\Ldap\Ldap
                search_dn: cn=admin,dc=planetexpress,dc=com
                search_password: GoodNewsEveryone
                dn_string: 'ou=people,dc=planetexpress,dc=com'
                query_string: '(uid={user_identifier})'

In services.yaml:

services:
    Symfony\Component\Ldap\Ldap:
        arguments: ['@Symfony\Component\Ldap\Adapter\ExtLdap\Adapter']
        tags:
            - ldap

    Symfony\Component\Ldap\Adapter\ExtLdap\Adapter:
        arguments:
            -   host: localhost
                port: 10389
                options:
                    protocol_version: 3
                    referrals: false
                    
    Symfony\Component\Ldap\Security\MemberOfRoles:
        arguments:
            $mapping:
               'admin_staff': 'ROLE_ADMIN'
               'ship_crew': 'ROLE_USER'
            $attributeName : 'memberOf'

Hope this helps,

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions