Feature #9216

Support of multiple LDAP servers for authorization

Added by Ruslan Mahmatkhanov about 6 years ago. Updated 11 months ago.

Status:NewStart date:2011-09-09
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:LDAP
Target version:-
Resolution:

Description

Good day!

We have ability to define multiple LDAP servers, but we can choose only one of them for users autorization. The problem is, when definded LDAP server goes down, we should change it's IP-address (or chnage all users settings to use another (live) server). It would be great if we will be able to set multiple LDAP servers to try for each user, so if one of them goes down, redmain was able to fallback to another server w/o admin intervention.
Thanks.

auth_ldap_failover.patch Magnifier (24.5 KB) Julian Faude, 2013-06-19 01:07

History

#1 Updated by Etienne Massip about 6 years ago

IMHO this is something you would better solve by upgrading your network configuration; e.g. you could setup some failover mechanism on your LDAP server (you can have a look to this thread).

#2 Updated by Thomas Ihme about 5 years ago

We are going to provide more than one address for LDAP authentication to have a fail-over behaviour. It would be nice to have the ability to set multiple LDAP hosts for one LDAP configuration, so fail-over takes place in case one server is down.

#3 Updated by Ruslan Mahmatkhanov about 5 years ago

That is a great news. Looking forward to this feature implemented. Thank you!

#4 Updated by Julian Faude over 4 years ago

I ran into the exact same problem. I intuitively tried to provide multiple ldap servers for automatic failover because that's what I'm used to when it comes to pam_ldap and so on. This obviously failed. Although I find a local load balancer like HAProxy interesting I take a shot at implementing this 'try one after another'-approach directly into redmine.

I attached a patch against r11979. It allows to provide multiple ldap hosts in host(s) input separated by comma. On initialize_ldap_con it runs through list and tries to find an entry which allows a successful connection. In case it succeeds it return Net::Ldap instance. In case it fails it raises AuthSourceException with message from attempt to connect to first ldap host in list. However I am not sure if that last point makes to much sence since the fail messages from all attempts might be interesting. Hope that helps!

#6 Updated by Michal Kalwig 11 months ago

Dmitry Shumilin wrote:

#11967 #23973

Hello!

This feature is needed but not working with Redmine 3.3.1. Can somebody update this thread?

Thanks!

Also available in: Atom PDF