【发布时间】:2020-02-12 16:27:09
【问题描述】:
我们正在为 Microsoft 的 3 月 AD 更新做准备,只允许使用 LDAPS 进行安全调用,在检查我们的 .Net 代码时,我发现对 UserPrincipal.GetGroups() 和 UserPrincipal.GetAuthorizationGroups() 的调用似乎使用 LDAP(端口 389 ) 而不是 LDAPS(端口 636),即使 UserPrincipal 对象是使用通过 LDAPS 建立的 PrincipalContext 创建的,如下所示:
// Explicitly using LDAPS (port 636)
PrincipalContext principalContext = new PrincipalContext(ContextType.Domain, "our.corpdomain.com:636", "DC=our,DC=corpdomain,DC=com", ContextOptions.Negotiate);
UserPrincipal userPrincipal = UserPrincipal.FindByIdentity(principalContext, "someuser");
// These calls still use LDAP (port 389)
var groups = userPrincipal.GetAuthorizationGroups();
var groups2 = userPrincipal.GetGroups();
有谁知道为什么会发生这种情况,如果是,如何强制这些调用使用 LDAPS?如果不能强制,有什么变通办法吗?
【问题讨论】:
标签: .net active-directory ldap active-directory-group