Giriş
Şu satırı dahil ederiz.
Filtre ve PropertiesToLoad alanları sonradan atanabilir. Şöyle yaparız.
DirectoryEntry Sınıfı ile ilklendirilir. Bu constuctor ile SubTree araması yapılır.
Örnek
Şöyle yaparız.
Elimizde şöyle bir location olsun.
Örnek
Kullanıcı adına göre arama için şöyle yaparız.
Kullanıcı adına göre arama için şöyle yaparız.
Organizational Unit'e göre aramak yapmak için şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Şu satırı dahil ederiz.
using System.DirectoryServices.
DirectorySearcher;
Bu sınıf her zaman using ile kullanılmalıdır.using (DirectorySearcher ds = new DirectorySearcher())
{
...
}
Constructor - DefaultFiltre ve PropertiesToLoad alanları sonradan atanabilir. Şöyle yaparız.
using (DirectorySearcher ds = new DirectorySearcher())
{
ds.PropertiesToLoad.Add("pwdLastSet");
ds.PropertiesToLoad.Add("lastLogon");
ds.PageSize = 1;
ds.Filter = string.Format("(&(objectCategory=user)(sAMAccountName={0}))",user);
SearchResult sr = ds.FindOne(); // Find User in AD
}
Constructor - Root EntryDirectoryEntry Sınıfı ile ilklendirilir. Bu constuctor ile SubTree araması yapılır.
Örnek
Şöyle yaparız.
DirectoryEntry entry = ...;
DirectorySearcher dSearch = new DirectorySearcher(entry);
ÖrnekElimizde şöyle bir location olsun.
"LDAP://OU=Users,OU=Germany,DC=XXXX,DC=de".
Şöyle yaparız.public SearchResultCollection getAllUsers(string location)
{
string ldapPath;
SearchResultCollection allResults;
try {
ldapPath = getLdapPathFromLocation(location);
DirectoryEntry entry = createDirectoryEntry(AD_BWFE, ldapPath);
DirectorySearcher searcher = new DirectorySearcher(entry);
searcher.PropertiesToLoad.Add("cn");
searcher.PropertiesToLoad.Add("sAmAccountName");
allResults = searcher.FindAll();
return allResults;
}
Filter AlanıÖrnek
Kullanıcı adına göre arama için şöyle yaparız.
String name = "ravi";
dSearch.Filter = "(&(objectClass=user)(sAMAccountName=" + name
+ "))";
ÖrnekKullanıcı adına göre arama için şöyle yaparız.
string pathDomain = string.Format("LDAP://{0}",...);
DirectoryEntry entry = new DirectoryEntry(...);
try
{
//Bind to the native AdsObject to force authentication.
object obj = entry.NativeObject;
DirectorySearcher search = new DirectorySearcher(entry);
search.Filter = "(SAMAccountName=" + "UserName" + ")";
search.PropertiesToLoad.Add("cn");
SearchResult result = search.FindOne();
if (null == result)
{
return false;
}
}
catch (Exception ex)
{
//"Error authenticating user on LDAP";
...
}
ÖrnekOrganizational Unit'e göre aramak yapmak için şöyle yaparız.
string organizationalUnits = "(objectCategory=organizationalUnit)";
FindAll metoduŞöyle yaparız.
foreach (SearchResult sResultSet in dSearch.FindAll())
{...}
FindOne metoduŞöyle yaparız.
SearchResult sr = dSearch
.FindOne();
PropertiesToLoad Alanı
Şöyle yaparız.dSearch.PropertiesToLoad.Add("pwdLastSet");
dSearch.PropertiesToLoad.Add("lastLogon");
SearchcScope AlanıŞöyle yaparız.
dSearch.SearchScope = SearchScope.OneLevel;
Hiç yorum yok:
Yorum Gönder