LDAP是否可以在ActiveDirectory环境中工作?

时间:2018-09-13 14:59:18

标签: java authentication active-directory ldap

我正在Active Directory环境中开发一个独立的Java应用程序,通常的身份验证方法是SingleSignOn。
但是我有一些接口,它不支持SSO。现在,我正在考虑使用LDAP对应用程序的用户进行身份验证。

我的问题是:是否可以在ActiveDirectory环境中实现LDAP?

  • 如果是:它是如何协同工作的,我该怎么做?
  • 如果没有:除了SSO,还有其他选择吗?

1 个答案:

答案 0 :(得分:1)

Active Directory域控制器充当LDAP服务器。服务器将在端口389上绑定明文LDAP,并且可以自动注册证书的服务器将在端口636上绑定ssl加密LDAP。

作为LDAP服务器的Active Directory与其他任何LDAP服务器一样,基本上是 ,但是架构名称会更改。在LDAP中通常可以看到uid的位置,Microsoft使用sAMAccountName或userPrincipalName。域基于域组件(dc = something),而不是组织(o = something)。但是基本概念保持不变。

您可以查看域的SRV记录,以返回用作LDAP服务器的候选域控制器的列表,可以配置负载均衡器VIP来放置目录,并添加旨在处理LDAP-的域控制器。源身份验证流量,或者如果主ldap主机连接失败,则可以使用它,而要使用辅助主机。

如果您使用的是LDAP-SSL(这是正确的做法),则除非域管理员已完成以下过程,否则您需要将CA链的公钥添加到cacerts文件中。获得由公共CA签署的DC证书。通过LDAP连接到AD服务器,绑定系统凭据,搜索用户-类似于(&(sAMAccountName = WhatUserEntered))-在组织的基本DN处返回对象完全限定的DN,与完全限定的对象绑定用户提供的DN和密码。检查结果代码以确定是否通过了身份验证。