Skip to content

Add LDAP flow to role details drawer

What does this MR do and why?

On the Manage -> Members page, a list of group members is shown:

ksnip_20240628-145843

When the LDAP sync feature is enabled for a group, there's a special workflow for changing a member's role:

  1. Initially, LDAP members will follow the role configured in the LDAP sync settings.

  2. The role can be manually changed to another role, in which case the member's role is considered "overridden" and will no longer follow the LDAP sync settings. Before doing this, the member's role must first be "unlocked" so that the role can be changed.

  3. If the role is overridden, it can also be changed back to follow the sync role.

This MR adds the LDAP workflow to the new role details drawer.

See this video (with audio commentary) for how the old flow worked:

2024-06-28_15-09-27

This is how the new flow works, that this MR introduces:

2024-06-28_15-12-18

How to set up and validate locally

  1. Enable the show_role_details_in_drawer feature flag:
echo "Feature.enable(:show_role_details_in_drawer)" | rails c
  1. Edit <gdk-folder>/gdk.yml and add this following top-level entry to enable a local LDAP server:
openldap:
  enabled: true
  1. Run gdk reconfigure, then gdk restart.

  2. Seed the LDAP test data by running the following:

cd <gdk-folder>/gitlab-openldap
make clean default
  1. Follow this video walkthrough (with audio commentary) on how to set up LDAP for a group and test the feature:

2024-06-28_15-19-03

Related to #464104

Edited by Daniel Tian

Merge request reports