使用java的多个active directory服务器身份验证

使用java的多个active directory服务器身份验证,java,active-directory,Java,Active Directory,我有三个不同地址、端口和域名的active directory服务器 在我的应用程序中,当用户登录系统时,我必须进行身份验证。用户只提供用户名和密码,而不提供域名或ip地址。 我如何对他进行身份验证,我是否必须在整个ldap服务器中循环,以及当我获得上下文时,我必须中断它。。或者有没有其他可能的解决方案来验证多个服务器中的用户 请建议。提前感谢如果用户提供其FDN或UPN用户主体名称,而不仅仅是用户名,这将非常有用。但仍然不能保证upn将匹配您的域名。如果他提供了FDN,那么您至少可以缓存来自所

我有三个不同地址、端口和域名的active directory服务器 在我的应用程序中,当用户登录系统时,我必须进行身份验证。用户只提供用户名和密码,而不提供域名或ip地址。 我如何对他进行身份验证,我是否必须在整个ldap服务器中循环,以及当我获得上下文时,我必须中断它。。或者有没有其他可能的解决方案来验证多个服务器中的用户
请建议。提前感谢

如果用户提供其FDN或UPN用户主体名称,而不仅仅是用户名,这将非常有用。但仍然不能保证upn将匹配您的域名。如果他提供了FDN,那么您至少可以缓存来自所有三个服务器的defaultNamingContext,并尝试将其与用户提供的FDN匹配,并根据匹配的服务器对其进行身份验证

但我猜他在你的案件中提供了samAccountName。在这种情况下,我们没有任何线索来识别服务器。您必须一个接一个地进行检查,并可能将其缓存到他所针对的服务器上,以便下次性能改进。也可能在多个广告中存在相同的用户名。您必须根据您的广告环境处理此情况


另外,如果其web应用程序尝试使用spring的ldapTemplate,请注意。这可能会减轻您的任务。

不,您必须一次检查一台服务器。您可以尝试保存用户在哪个服务器上进行身份验证的详细信息,这样只需在3台服务器上循环一次。@Saiyansharwan:如果给定的用户/密码组合在多台服务器上可用,该怎么办?这取决于您。在你的环境中做出最好的选择。要么先赢,要么出错。