我需要让特定用户只知道“sAMAAccountName”字段。
问题是,这个特定用户可以位于多个组中:
OU=ThirdParty
OU=Company1
CN=User1
CN=User2
CN=User3
OU=Company2
CN=User1
CN=User2
CN=User3
有没有办法让用户不知道他们的组,只使用他们拥有的一个属性?
我的代码:
DirectorySearcher search = new DirectorySearcher(_path);
search.Filter = "(&(objectCategory=person)(objectClass=User))";
StringBuilder groupNames = new StringBuilder();
try
{
SearchResultCollection result = search.FindAll();
.....
}
谢谢!
编辑:
好的,我使用此代码得到了它:
DirectorySearcher search = new DirectorySearcher(_entry, "(sAMAccountName=" + userCode + ")");
最佳答案
您需要了解用户的哪些信息?我们过去曾使用此类代码来检索有关用户的信息
using (var identity = new WindowsIdentity(username))
{
var user = new WindowsPrincipal(identity);
if (user.IsInRole("Some Role Name"))
return true;
return false;
}
编辑 在您发表评论后,我想知道这篇文章是否能为您提供进一步的现场信息。他们显示正在获取您请求的字段,我只是不确定检索员工的代码是否适用于您,因为它引用了 InfoPath:http://msdn.microsoft.com/en-us/library/bb952744(v=office.12).aspx
关于c# - 我可以在不知道 Active Directory (AD) 中 OU 的情况下通过某些属性获取特定用户吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9419987/