当使用params实例化DirectorySearcher(doman,.)时,可以指定但是,在实例化没有对角的DirectorySearcher()时,还不清楚将使用什么AuthenticationTypes。
这现在是一个很大的问题,因为使用NTLM的AuthenticationTypes.secure将在未来几个月内在MS AD服务器上被放弃和禁用。这使得开发者们争先恐后地使用他们的SW。
我的猜测是,当不使用params实例化DirectorySearcher()时,调用代码将找到第一个合适的AuthenticationType,因此现有代码不会中断。但我想确认一下。
发布于 2020-02-01 18:17:06
默认的是AuthenticationTypes.Secure,您可以从源代码或通过检查AuthenticationType属性看到它:
Console.WriteLine(new DirectoryEntry().AuthenticationType);然而,AuthenticationTypes.Secure不只是尝试NTLM。文档说:
请求安全身份验证。设置此标志时,WinNT提供程序将使用NTLM对客户端进行身份验证。Active域服务使用Kerberos (可能还包括NTLM )对客户端进行身份验证。当用户名和密码为空引用( Visual中的
Nothing)时,ADSI使用调用线程的安全上下文绑定到对象,该安全上下文要么是运行应用程序的用户帐户的安全上下文,要么是调用线程模拟的客户端用户帐户的安全上下文。
对于域服务,它实际上更喜欢Kerberos而不是NTLM。
https://stackoverflow.com/questions/60012865
复制相似问题