如何在我的模型类中编写验证,以检查用户是否在Active Directory中
本文关键字:检查 用户 是否 Directory Active 我的 模型 验证 | 更新日期: 2023-09-27 18:22:27
我有一个UserGroup表,它存储GroupID和关联的UserName。当前用户存在于活动目录中,所以我没有users表。但在将任何用户分配到UserGroup表之前,我想检查该用户是否已经在Active Directory中定义。所以我发现在我的UserGroup Model对象中编写验证对象是一种很好的方法,所以我在我的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.");}
但我不确定如何实现唯一性检查!!!
尝试:
using (var context = new PrincipalContext(ContextType.Domain, "WIN-SPDEV"))
{
UserPrincipal user = UserPrincipal.FindByIdentity(context, searchedUserName);
if (user != null)
{
//user found
}
}
请尝试此代码:
var searchResults = searcher.FindAll();
foreach (Principal p in searchResults)
{
if(p.SamAccountName == User.Identity.Name)
{
//your in!
}
}