Если пользователь указывает свое FDN или UPN (основное имя пользователя) вместо простого имени пользователя, это будет полезно. Но все же нет никакой гарантии, что upn будет соответствовать вашему имени. Если он дает FDN, то по крайней мере вы можете кэшировать defaultNamingContext со всех трех серверов и попытаться сопоставить его с fdn, предоставленным пользователем, и аутентифицировать его на соответствующем сервере.
Но я полагаю, он предоставляет samAccountName в вашем случае. В этом случае у нас нет никакой подсказки, чтобы идентифицировать сервер. Вы должны пройти один за другим и, возможно, кешировать, на каком сервере он аутентифицирован, для следующего улучшения производительности. Также возможно, что одно имя пользователя существует в нескольких AD. Вы должны разобраться с этим делом на основе вашей среды AD.
как дополнительное примечание, если его веб-приложение попытается использовать Spring ldapTemplate. Это может облегчить вашу задачу.