我创建了一个ASP.NET网站,该网站必须访问另一台服务器上的Active Directory并更改用户密码。问题是我需要使用现有的AD帐户进行身份验证,并且在与Active Directory服务器通信时无法以纯文本格式发送AD用户密码。如何从ASP.NET网站与AD服务器通信,以确保连接安全?我的AD服务器支持LDAP协议,但我不知道如何通过安全通道强制与LDAP通信。
ASP.NET网站-------------- LDAP /其他协议(安全)------------> AD服务器
答案 0 :(得分:1)
相当简单,你需要做两件事:
SessionOptions.SecureSocketLayer = true;
如果您想验证它是否正常工作,请将您的ASP.Net站点上的流量转移到端口636上,并且您应该注意到它现在已经过大量加密,并且不可能从中辨别出任何有意义的东西。
这些年来我已经做了很多这样的事情,所以我还有一些其他问题可以帮助你:
Set callback for System.DirectoryServices.DirectoryEntry to handle self-signed SSL certificate? (这包含LDAPS的完整实现)
Custom Multi-factor Active Directory Authentication (这是一个更简单的例子,但对你的目的来说可以完美地运行)