这是一些示例代码:
var ctx = new PrincipalContext(ContextType.Domain);
var up1 = AuthenticablePrincipal.FindByIdentity(ctx, IdentityType.Sid, "S-1-5-21-.......");
var up2 = AuthenticablePrincipal.FindByIdentity(ctx, IdentityType.UserPrincipalName, "login@contoso.com");
如果用户在执行此代码的同一个域中,它会在这两种情况下找到该用户。如果用户在另一个双向受信任的林中,则两者都返回 null。
当我在当前域上创建一个域本地组并将来自其他林的用户放入其中时,我用 列出该组的成员GroupPrincipal.GetMembers
,它确实找到并且它也确实解析了外来对象。所以这项任务当然是可能的,我们的基础设施也运行良好。
如何找到来自另一个森林的用户UserPrincipal.FindByIdentity
?或者使用任何其他方法PrincipalContext
?