0

我有一个存储 GroupID 和关联的用户名的用户组表。目前用户存在于活动目录中,所以我没有用户表。但在将任何用户分配给 UserGroup 表之前,我想检查用户是否已经在 Active Directory 中定义。所以我发现在我的 UserGroup 模型对象中编写一个验证对象是一种很好的方法,所以我在我的 USerGroup Partial 类中编写了以下内容:-

List<DomainContext> results = new List<DomainContext>();
using (var context = new PrincipalContext(ContextType.Domain, "WIN-SPDEV"))
using (var searcher = new PrincipalSearcher(new UserPrincipal(context)))
{
   var searchResults = searcher.FindAll();
   foreach (Principal p in searchResults)
   {
     //not sure what to write here !!!
}}
yield return new ValidationResult("UserName does not exsists.");}

但我不确定如何实现唯一性检查!

4

2 回答 2

1

请尝试以下代码:

var searchResults = searcher.FindAll();
foreach (Principal p in searchResults)
{
  if(p.SamAccountName == User.Identity.Name)
  {
      //your in!
  }
}
于 2013-07-16T13:31:10.317 回答
1

尝试:

using (var context = new PrincipalContext(ContextType.Domain, "WIN-SPDEV"))
{
    UserPrincipal user = UserPrincipal.FindByIdentity(context, searchedUserName);
    if (user != null)
    {
        //user found
    }
}
于 2013-07-16T13:33:48.250 回答