【问题标题】:Does LDAP work in an ActiveDirectory environment?LDAP 是否在 ActiveDirectory 环境中工作?
【发布时间】:2023-04-10 11:54:01
【问题描述】:

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

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

  • 如果是:它是如何协同工作的,我需要具体做什么?
  • 如果没有:除了 SSO 之外还有其他替代方案吗?

【问题讨论】:

  • 我觉得你的问题太笼统了。我们帮助解决特定的编程问题,而不是设计解决方案/愿景的请求。
  • 我想我希望对这个话题有任何启发或解释..
  • 我明白这一点。但是“灵感”和“广泛的解释”并不是这里的主题。
  • 我明白了。只有编程问题。明白了^^
  • 告诉我们您尝试了什么并显示日志或结果并阅读:stackoverflow.com/help/how-to-ask

标签: java authentication active-directory ldap


【解决方案1】:

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

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

您可以查看域的 SRV 记录以返回候选域控制器列表以用作 LDAP 服务器,您可以将负载平衡器 VIP 配置到目录前面并添加旨在处理 LDAP 的域控制器-源身份验证流量,或者您可以拥有一个主要的 ldap 主机和一个辅助主机,如果该主机连接失败。

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

【讨论】:

  • 好吧,我只是误解了关于 LDAP 和 SSO 的整个概念。谢谢你的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-12-07
  • 2011-07-17
  • 1970-01-01
  • 1970-01-01
  • 2012-08-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多