代码之家  ›  专栏  ›  技术社区  ›  LastTribunal

DirectorySearcher()和AuthenticationTypes枚举

  •  0
  • LastTribunal  · 技术社区  · 6 年前

    实例化时 目录搜索器(doman,…) 使用params可以指定 身份验证类型 . 然而,当实例化 DirectorySearcher() 没有params,不清楚是什么 身份验证类型 将被使用。

    这现在是一件大事,因为 身份验证类型。保护 未来几个月,微软将放弃使用NTLM的手机,并在MS AD服务器上禁用。。这使得开发者们争先恐后地去开发他们的软件

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

    0 回复  |  直到 6 年前
        1
  •  1
  •   Gabriel Luci    6 年前

    默认值是 AuthenticationTypes.Secure ,你可以从 source code 或者通过检查 AuthenticationType 财产:

    Console.WriteLine(new DirectoryEntry().AuthenticationType);
    

    然而 身份验证类型。保护 没有 只有 试试NTLM。这个 documentation 说:

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

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