51K Views

UVDesk Opensource LDAP Integration

Implementing Symfony LDAP Authentication

In this post, I am going to explain, how I implemented ldap authentication in uvdesk opensource using symfony ldap component.

Keywords

core-framework: UVDesk opensource core-framework bundle root directory.

community-skeleton: helpdesk project root project directory

STEP 1: Installing dependencies

  • Add the symfony/ldap dependency in composer.json.

STEP 2: Adding Sample Configuration

  • Adding sample ldap server configuration in config.yaml and uvdesk.php ( Configuration defined inside these files will be used to create/update community-skeleton/config/packages/uvdesk.yaml)
  • To be more specific the file config.yaml is used to create the uvdesk.yaml when we install composer dependency using composer install.
  • uvdesk.php is used to update support_email container parameters when updating Email settings
  • uvdesk.php is updated when we change website prefixes.


STEP 3: Bundle Configuration

  • Adding LDAP Tree Builder configuration in BundleConfiguration tree builder.

STEP 4: Processing Bundle Configuration

  • Processing Ldap Configuration defined earlier (in config.yaml and uvdesk.php template) in CoreFramework.php (core-framework bundle extension)

STEP 5: Creating LdapUserProvider

  • Creating a new class  LdapUserProvider for providing Ldap users to authentication provider .

STEP 6: LdapUserProvider Configuration

  • Injecting Firewall map into LdapUserProvider defined earlier

STEP 7: Configuring Bundle security configuration

  • Configuring LdapUserProvider and UserProvider as chained user provider.
Category(s) Symfony UVdesk
. . .

Leave a Comment

Your email address will not be published. Required fields are marked*


7 comments

  • Lakshay Chorpa
    Hello piyush
    I did the changes as suggested by you in this blog in the core-framework.
    But somehow I am unable to authenticate to my ldap server using this.
    • Himani Gupta
      Hello Lakshay,
      Greetings from the UVdesk!!
      Thanks for implementing the LDAP with UVdesk OpenSource helpdesk. We would like to inform you that this is something which we are working and very soon will implement this. If you want you can develop and contribute for this module. For reference, you can check this pull request – https://github.com/uvdesk/core-framework/pull/268
      Hope this will help you 🙂
      Thanks & Regards
      UVdesk Team
      • Lakshay Chorpa
        Thanks Himani
        Really Appreciate your help.
        I got the things working by taking references from that pull request and I think this blog needs to be updated.
        • Himani Gupta
          Hello Lakshay,
          Thanks for replying back to us!!
          For sure we will update this blog. If you will find something is missing and want to update the pull request code then you can also raise separate pull requests for this feature. We would be glad to add you as a contributor!! since this pull request still required some updates.
          Thank You!!
          • satheesan
            Dear Himani Gupta,

            Thanks for your support,
            I have followed all the steps in the above documentation however i am not clear about completing the the steps described in the pull request described in the link https://github.com/uvdesk/core-framework/pull/268

            could you please post here if there is an alternate link or there is any updated documentation regarding the LDAP integration and configuring LDAP in Uvdesk opensource ?.

            Thanks

        • SAJAN
          Dear Lakshya Chopra,

          I am trying to do the ldap integration by following the steps described in the documentation how ever i am not able to complete the steps in the provided link https://github.com/uvdesk/core-framework/pull/268 could you please help .

          • Himani Gupta
            Hello Sajan,
            Glad to see you here!!
            We are still in a way to update ldap integration with UVdesk community helpdesk. We will definitely update you once done.
            Kind Respects
            UVdesk Team
  • css.php