我目前正在尝试使用PrincipalContext类通过Active Directory Services进行身份验证。我希望我的应用程序使用Sealed和SSL上下文对域进行身份验证。为了实现这一点,我必须使用PrincipalContext的以下构造函数 (MSDN页面链接):
public PrincipalContext(
ContextType contextType,
string name,
string container,
ContextOptions options
)
具体来说,我是这样使用构造函数的:
PrincipalContext domainContext = new PrincipalContext(
ContextType.Domain,
domain,
container,
ContextOptions.Sealing | ContextOptions.SecureSocketLayer);
MSDN关于"container"的解释:
用作上下文根的存储容器。所有查询均在此根下执行,并且所有插入均在此容器中执行。对于域和ApplicationDirectory上下文类型,该参数是容器对象的可区分名称(DN)。
什么是容器对象的DN?如何找到我的容器对象?可以查询Active Directory(或LDAP)服务器以获取此信息吗?
ValidateCredentials
时20秒延迟的关键。谢谢! - Brett Veenstranull
。当我想要指定ContextOptions时,我就是这样做的。例如:var pc = new PrincipalContext(ContextType.Domain, Environment.UserDomainName, null, ContextOptions.Sealing);
- famousKaneis