Active directory DirectorySearcher()和AuthenticationTypes枚举

Active directory DirectorySearcher()和AuthenticationTypes枚举,active-directory,ldap,Active Directory,Ldap,使用参数实例化DirectorySearcher(doman,…)时,可以指定身份验证类型。 但是,在没有参数的情况下实例化DirectorySearcher()时,不清楚将使用什么身份验证类型 这现在是一件大事,因为使用NTLM的AuthenticationTypes.secure将在未来几个月内被MS放弃并在MS AD服务器上禁用。。这使得开发人员争先恐后地去un-F他们的软件 我的猜测是,当实例化DirectorySearcher()而不使用参数时,调用代码将找到第一个合适的Authent

使用参数实例化DirectorySearcher(doman,…)时,可以指定身份验证类型。 但是,在没有参数的情况下实例化DirectorySearcher()时,不清楚将使用什么身份验证类型

这现在是一件大事,因为使用NTLM的AuthenticationTypes.secure将在未来几个月内被MS放弃并在MS AD服务器上禁用。。这使得开发人员争先恐后地去un-F他们的软件


我的猜测是,当实例化DirectorySearcher()而不使用参数时,调用代码将找到第一个合适的AuthenticationType,因此现有代码不会中断。但是我想确认一下

默认值为
AuthenticationTypes.Secure
,您可以从或通过检查
AuthenticationType
属性看到:

Console.WriteLine(new DirectoryEntry().AuthenticationType);
但是,
AuthenticationTypes.Secure
不仅尝试NTLM。报告说:

请求安全身份验证。设置此标志后,WinNT提供程序将使用NTLM对客户端进行身份验证。Active Directory域服务使用Kerberos(可能还有NTLM)对客户端进行身份验证。当用户名和密码为空引用时(
Nothing
,在Visual Basic中),ADSI使用调用线程的安全上下文绑定到对象,该上下文是运行应用程序的用户帐户的安全上下文,或者是调用线程模拟的客户端用户帐户的安全上下文


在Active Directory域服务的情况下,它实际上更喜欢Kerberos而不是NTLM。

谢谢,那么这是否意味着当MS实现其新的强化时,默认安全性将失败?我没有看到任何链接表明任何合法请求都会失败,而以前没有。