Multi LDAP Servers Support

Last modified by Vincent Massol on 2024/11/19 16:12

 XWiki
 Implementation
 Dormant
 

Description

Goal

Be able to check for authentication on several different LDAP servers.

Proposal

  • store LDAP servers descriptors in objects instead of xwiki.cfg
  • each descriptor can extends another
  • ldap server and authentication configuration should be two different things

descriptor

XWiki.LDAPAuthenticationCLass

  • enabled
  • sync users (boolean)
  • sync groups
  • try local
  • check password
  • scope
    • local (the wiki)
    • global (the whole farm)

XWiki.LDAPServerCLass

  • pretty name
  • parent
  • enabled
  • host
  • port
  • bind user
  • bind password
  • base DN
  • uid field name
  • password field name
  • ssl (boolean)
  • ssl keystore
  • ssl secure provider

XWiki.LDAPServerGroupClassCLass

  • pretty name
  • group classe name
  • group member field name

XWiki.LDAPServerAllowedGroupsCLass

  • pretty name
  • DN

XWiki.LDAPServerForbiddenGroupsCLass

  • pretty name
  • DN

XWiki.LDAPServerUserFieldMappingCLass

  • pretty name
  • LDAP user field name
  • XWiki profile field name

XWiki.LDAPServerGroupMappingCLass

  • pretty name
  • LDAP group DN
  • XWiki group

login UI

The main issue is what LDAP server to choose to authenticate. By default it could of course try them all but that's not great for performances.

An authenticator should have the possibility the expose which parameters it needs too authenticate. That would allow LDAP authenticator to ask for the LDAP server to use.


 

Get Connected