我有一个问题,我没有找到解决方案:(
我有一个从 Active Directory 获取数据的 ASP.NET 应用程序。我构建了一个 3 层应用程序。我有一个模型项目,它有一个用户类(“Benutzer.cs”)和一个数据层和服务层。在我的数据层中,我获得了有关 AD 中用户的信息。我现在只想获得一个用户,我的问题是如何过滤列表中的一个用户。也许是一个愚蠢的问题,但我不知道我必须做什么:D
我的代码:
...
IUserService srv = new UserService();
List<Model.Benutzer> usr = srv.GetUser(Domain, null, null, UserID);
// I want the one User of this List can I found this User about
// Benutzer User = usr.?
...
我只想要一个用户。这是我的 getUser 方法的代码:
public List<Benutzer> GetUser(string Domain, string Benutzer, string Werk, string GUID)
{
List<Benutzer> result = new List<Benutzer>();
DirectoryEntry Entry = new DirectoryEntry("LDAP://<GUID=" + GUID + ">");
string filter = "(&(objectClass=user)(objectCategory=person)(cn=*))";
DirectorySearcher Searcher = new DirectorySearcher(Entry, filter);
SearchResult res = Searcher.FindOne();
result.Add(new Benutzer()
{
Benutzername = GetProperty(res, "sAMAccountName"),
Vorname = GetProperty(res, "givenName"),
Nachname = GetProperty(res, "sn"),
eMail = GetProperty(res, "mail"),
Unternehmen = GetProperty(res, "company"),
Abteilung = GetProperty(res, "Department"),
Raum = GetProperty(res, "physicalDeliveryOfficeName"),
Beschreibung = GetProperty(res, "Description"),
Kostenstelle = GetProperty(res, "extensionAttribute3"),
Telefonnummer = GetProperty(res, "telephoneNumber"),
Mobilnummer = GetProperty(res, "mobile"),
Haustelefon = GetProperty(res, "homePhone"),
Fax = GetProperty(res, "facsimileTelephoneNumber"),
Pager = GetProperty(res, "pager"),
Standort = GetProperty(res, "l")
});
return result;
}
塔拉索夫