这个问题听起来可能有点愚蠢,而且不安全,但我们是前端网页开发人员,对这些事情了解不多。所以,我们来回答一下这个问题。
我们正在创建一个 Web 应用,希望使用来自 Active Directory 的凭据登录。虽然只有读取权限,但我们只需使用 AD 凭据登录,然后获取指示成功与否的回调。
我知道 AD 中的密码是加密的,所以我们无法在数据库中复制用户名和密码,每天同步一次左右。所以,到目前为止,我们得出结论,这样的解决方案应该在客户的网络内部。那么,为了让它能够同时访问 Active Directory 和互联网,它需要位于 DMZ 区域内吗?
或者这一切听起来很愚蠢?因为我们无论如何都只从 AD 中提取用户名和密码,所以我们不需要其他任何东西。因此,最终用户获得的额外好处可能是他/她不必记住一额外的密码?这可能不值得吗?
编辑:所有使用此功能的用户都已存在于 Active Directory 中。因此,它基本上是销售部门在从其客户前往下一个客户时会使用的工具。
如果这个问题听起来非常愚蠢,请随意投反对票:)
答案1
您可以使用大约 30 种方法来实现这一点。这将帮助我们了解您在 Web 服务器上使用的操作系统/语言/框架 - 其中的一些或许多将有一个模块来执行这些方法中的部分或全部。
您可以使用 LDAP。您可以使用 Kerberos。您可以使用 NTLM。当然,如果有 Exchange 或其他可以查询的 AD 集成邮件服务器,您可以使用 SMTP - 我见过这样做。
可以将 Web 服务器配置为指向域控制器、成员服务器或 AD LDS(以前称为 ADAM)服务器。如果使用后者,则可以将其放在 DMZ 中。您一般来说不会想把任何其他选项放在 DMZ 中。
可以使用协议特定的加密层对流量进行加密 - 如果使用 LDAP,则改用 LDAPS。如果您使用 SMTP,我建议您使用 IPSec 或 TLS。
仅供参考 - 如果您是我的供应商,我希望知道您是在安全地执行此操作,并且我不是您的实验对象。考虑聘请了解自己在为项目这一部分做什么的人。不要半途而废,然后让客户的网络被利用。