gpt4 book ai didi

.net - 从 System.DirectoryServices 切换到 DirectoryServices.Protocols 时的身份验证类型

转载 作者:行者123 更新时间:2023-12-01 23:25:38 25 4
gpt4 key购买 nike

我需要知道 AuthenticationTypes 中等效的 AuthType 值才能从 S.DS 迁移到 S.DS.P 代码。

我正在重写一个当前使用 System.DirectoryServices 命名空间的 LDAP 连接模块。为了增加与非 ActiveDirectory 服务器的兼容性,我试图重写所有代码以使用 System.DirectoryServices.Protocols(根据“The .NET Developer's Guide to Directory Services Programming”中的建议)。除了使用 AuthenticationTypes 枚举与 SD.Protocols 使用的 AuthType 之间的转换。我需要知道两者之间的等价物,以便使用旧代码的客户端不会在新代码发布时失去功能。

我知道的等效项是:
无 -> 基本
安全 -> 协商(或多或少)
匿名 -> 无
SecureSocketsLayer -> 将 LdapSessionOptions.SecureSocketsLayer 设置为 true

最佳答案

看来您的方向是正确的。

经过一些研究,我能够映射几乎所有的 AuthenticationTypes 值:

无:AuthType.Basic

安全:AuthType.Negotiate

匿名:AuthType.Anonymous

签名:LdapSessionOptions.Signing

密封:LdapSessionOptions.Sealing

SecureSocketLayer: LdapSessionOptions.SecureSocketLayer

加密:与 SecureSocketLayer 相同的值

只读服务器:LdapSessionOptions.LocatorFlag.WriteableRequired = false

Serverbind:使用具有 fullyQualifiedDnsHostName 参数的 LdapDirectoryIdentifier 构造函数之一,并将值设置为 true。

FastBind:不适用,因为此 S.DS.P 在较低级别工作。

委派:未找到相应的设置。授权可能是隐含的。一种测试方法是转换 this page 上的代码看看它是否有效。

请注意,并非所有非 AD 服务器都支持 AuthType.Negotiate,因为它是特定于 Windows 的。还有其他一些东西(比如一些 LocatorFlag 值)对于非 AD 系统也没有任何意义。因此,在转换假定 AD 连接的代码时要小心,因为某些假设将不再安全。

关于.net - 从 System.DirectoryServices 切换到 DirectoryServices.Protocols 时的身份验证类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6551737/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com