Introduction

The Sync LDAP User Directory Manager is a hybrid solution that allows you to make use of the user objects from your organization's LDAP server and maintaining organization structure (organization / department / group) locally inside Joget.

This plugin allows you to import user objects from LDAP server on demand into Joget built in user directory manager to reduce its dependency on the LDAP server for improved performance.

The built in user directory manager is still the primary handler when this plugin is activated. Once you have synchronized the users to the local directory manager, you can assign the users to your organization/department/group/grade which created locally.

With the use of this plugin, we will be able to reduce the conventional load and dependency on the LDAP server and to only use it for authentication purpose.

A new feature added in Joget DX is the "Auto schedule sync" property. The Joget admin can also click on the Sync Users button to manually perform an LDAP sync.

Joget identifies users on Sync LDAP if the password column in database is "(NULL)", which causes the following to take place:

  • Users cannot edit their profile.
  • Admin cannot use @"Admin Bar > Users > Setup User"@ to edit user information.
  • Only records with password equal NULL will sync to your LDAP directory.

If the user wants to change his password, recommended is to change it in LDAP/AD.

Sync LDAP Properties

Configuring Sync LDAP


Figure 1: Configure Sync LDAP


Figure 2: Sync Organization Enabled

NameDescription / Sample Value
URL

ldap://IP_ADDRESS:389

Admin Username (Principal) 

cn=admin,dc=joget,dc=org

Admin Password (Credential) 
Input the admin password for your LDAP/AD.
Root DNSet the root DB, for example "eg. DC=Joget,DC=org".
Sync Organization
New Feature

This is a new feature in Joget DX.

Perform synchronization not just to user objects, but to the whole organizational structure including Group, Department, Grade as well.

By enabling this feature, you will need to configure the following as well.

NameDescription / Sample Value
Organization ID

Declare a organization ID to bind all the users synced from LDAP with.

If the organization declared does not exists in Joget, a new one will be created.

Organization Name

Declare a organization name to bind all the users synced from LDAP with.

If the one declared here is not the same as the existing one in Joget, it will be updated with the value set here.

Please refer to documentation for setting up Group, Department, and Grade in LDAP Directory Manager.

Auto schedule sync?
New Feature

This is a new feature in Joget DX.

Clicking this checkbox to automatically sync your LDAP on a schedule, will display additional options as follows:

  • Sync Interval (Hour)
  • Sync Initial Start Time (HH:mm)

User


Figure 2: User Properties

NameDescription / Sample Value
User Base DN

Set the user base DN property.

Tips

If you set the "User Base DN" to your LDAP Root DN, it means that the search will start from the Root DN until it finds all the results that matched the search filter.

So, setting the "User Base DN" precisely is very important as it will decide where the search is starting from. It will save all the unnecessary search between the Root DN to your "User Base DN".

Root DN
DC=joget,DC=org
Under the Root DN, you have the following DN:
DC=HR,DC=joget,DC=org
DC=Product Department,DC=joget,DC=org
DC=Operation,DC=joget,DC=org
DC=Users,DC=joget,DC=org

If your users are all under "DC=Users, DC=joget,DC=org", you should set this to "User Base DN".
By doing this, it will not go through all the other entries and it's child entries before reaching "DC=Users, DC=joget,DC=org".

User Import Search Filter

(objectClass=person)

Tips

Value
(&(objectClass=person)(|(cn=admin)(cn=cat)(cn=jack)(cn=john)(cn=jackie)))

This mean all the LDAP entries which have "objectClass" attribute equals to "person" and "cn" attribute equals to either "admin", "cat", "jack", "john" or "jackie" are Joget users.

So, when a login is performed by "admin", the search filter will add additional filter and become "(&(&(objectClass=person)(|(cn=admin)(cn=cat)(cn=jack)(cn=john)(cn=jackie)))(cn=admin))". 

You will notice an extra (cn=admin) is added to the search filter to make sure it return only the "admin" user.

User License

User license determines on how many eventual users (sorted alphabetically) from your LDAP/AD can log in into the system. You can make use of this attribute to control amount of users returned from your LDAP.

More details at LDAP Directory Manager#ConfiguringTheUserImportSearchFilter.

Attribute Mapping - Username

cn

Attribute Mapping - First Name

givenName

Attribute Mapping - Last Name

sn

Attribute Mapping - Email

mail

Attribute Mapping - Status

status

Attribute Mapping - Time Zone

8

Attribute Mapping - Locale

en_US


Employment


Figure 3: Employment Properties

NameDescription / Sample Value
Attribute Mapping - Employee CodeemployeeCode
Attribute Mapping - Job TitlejobTitle
Attribute Mapping - Report ToUse this if an LDAP user that a user reports to is kept in LDAP user entry. eg. manager
Map To "Report To" Entry Attribute Used together with "Attribute Mapping - Report To". eg. distinguishedName
Attribute Mapping - MetasAdditional attributes to retrieve using #user.USERNAME.meta.KEY# or #currentUser.meta.KEY#

Admin Role


Figure 4: Admin Role Properties

NameDescription / Sample Value
Admin Role Base DNSet the Admin Role Base DN
Admin Role Import Search Filtereg. (objectClass=group)
Attribute Mapping - Users

Use this if the admin role of user(s) is kept in LDAP entry. eg. member

Map To LDAP User Entry Primary AttributeMap To LDAP User Entry Primary Attribute

Advance



Figure 5: Advance Properties

NameDescription / Sample Value

Result Size Per Paged Search

100

Debug Mode

Checked

Tips

The Debug Mode is highly recommended to be turned on when configuring the LDAP plugin for the first time.
When debug mode is on, you can find all the search queries performed by the directory manager. They will all be logged into the log file. From there, you can observe the search filter string and improve the accuracy and performance of the lookup.  

Related Documentation

LDAP Directory Manager

Security Enhanced Directory Manager







  • No labels