1
저는 C# MVC 5를 사용하고 있습니다. 활성 디렉토리에 연결했는데 광고를 반복하여 HTML 양식을 통해 구체적인 사용자를 찾으려고합니다. POST의 결과는 예상되는 것이 아닙니다. 올바른 AMOUNT (숫자)의 검색 결과를 얻지 만 동일한 결과를 출력하고 있습니다. 아래와 같이 총검색 결과에 문제가 있습니다.
2 결과가 정확하지만 단지 조쉬 반다이 크 없다 또한 조쉬 이발소이고. 당신은 다시 만들거나 userAttributes
를 정리하지 않는
/**********Establish Connection********/
DirectoryEntry dir = createDirectoryEntry();
DirectorySearcher search = new DirectorySearcher(dir);
/****Refer to class constructor****/
ADUser userAttributes = new ADUser("", "", "", "", "", "", "");
/********Create the List to store results in***************/
List<ADUser> Users = new List<ADUser>();
string DisplayName = "", SAMAccountName = "", Mail = "", Description = "", Division = "", TelephoneNumber = "", FacsimileTelephoneNumber = "";
/*******Filter parameters************/
search.Filter = "(&((&(objectCategory=Person)(objectClass=User)))(anr=" + userName + "*))";
SearchResultCollection searchresult = search.FindAll();
search.PropertiesToLoad.Add("displayname");
search.PropertiesToLoad.Add("SAMAccountName");
search.PropertiesToLoad.Add("Mail");
search.PropertiesToLoad.Add("Description");
search.PropertiesToLoad.Add("TelephoneNumber");
search.PropertiesToLoad.Add("FacsimileTelephoneNumber");
search.PropertiesToLoad.Add("Division");
/*****************Filtering and populating the List****************/
if (searchresult != null)
{
foreach (SearchResult iResult in searchresult)
{
foreach (string PropertyName in iResult.Properties.PropertyNames)
{
foreach (Object key in iResult.GetDirectoryEntry().Properties[PropertyName])
{
try
{
switch (PropertyName.ToUpper())
{
case "DISPLAYNAME":
DisplayName = key.ToString();
userAttributes.Name = DisplayName;
break;
case "SAMACCOUNTNAME":
SAMAccountName = key.ToString();
userAttributes.DomainUserName = SAMAccountName;
break;
case "MAIL":
Mail = key.ToString();
userAttributes.EmailAddress = Mail;
break;
case "DESCRIPTION":
Description = key.ToString();
userAttributes.JobDescription = Description;
break;
case "TELEPHONENUMBER":
TelephoneNumber = key.ToString();
userAttributes.TelephoneNumber = TelephoneNumber;
break;
case "FACSIMILETELEPHONENUMBER":
FacsimileTelephoneNumber = key.ToString();
userAttributes.FaxNumber = FacsimileTelephoneNumber;
break;
case "DIVISION":
Division = key.ToString();
userAttributes.Division = Division;
break;
}
}
catch { }
}
}
Users.Add(userAttributes);
}
return View(Users);
}
return View();
}