我需要在.NET Core应用程序中使用AD进行基本身份验证。以前,我使用System.DirectoryServices.AccountManagement和System.DirectoryServices.Protocols进行AD身份验证。但是我们将在Linux环境中的AWS上托管应用程序。
在浏览了一些博客之后,我现在尝试使用Novell.Directory.Ldap.Standard进行AD集成。
我为此使用了以下代码:
using (var connection = new LdapConnection())
{
// connection.SecureSocketLayer = true;
connection.Connect(myip,80);
connection.Bind("111@mydomain.com", password);
if (connection.Bound)
return true;
}
我能够执行线路连接。但是在线连接之后,绑定会引发错误:
{LdapException:连接丢失,等待来自 111.22.33.3:80(91)连接错误System.IO.EndOfStreamException:BERDecoder:解码:标识符中的EOF位于 Novell.Directory.Ldap.Asn1.Asn1Identifier..ctor(流in_Renamed)
在Novell.Directory.Ldap.Connection.ReaderThread.Run()}
可能是什么问题?我在绑定方法中传递我的用户名和密码。还有什么需要通过的吗? .Net核心在Linux / Unix环境中是否也有任何支持AD / Ldap的特定库?