AD Etiketli Yazılar

C# – Active Directory den attribute okuma

Csharp ile Active Directory den herhangi bir bilgiyi okumak için aşağıdaki pratik methodu kullanabilirsiniz;

Aşağıdaki Örnek de, IIS tarafında Windows Authentication şeklinde yapılandırılmış bir asp.net uygulamasında,
sayfayı görüntüleyen user ın mail adresi alınmaktadır.

//"System.DiretoryServices"  .NET Referansı projeye dahil edildikten sonra
using System.DirectoryServices;

 

//Kullanıcının mail adresini alır
string loginusername=
HttpContext.Current.User.Identity.Name.ToString().Replace("DOMAINADI\\","");
string mailadres=
ADdeger("DOMAINADI", loginusername, "mail");

 

public string ADdeger(string DomainName,string accountname,string attribute)
{
    DirectoryEntry entry = new DirectoryEntry("LDAP://"+DomainName);
    DirectorySearcher Dsearch = new DirectorySearcher(entry);
    Dsearch.Filter = "(&(sAMAccountName=" + accountname + "))";
    if(Dsearch.FindAll()[0].Properties.Contains(attribute))
    {return  Dsearch.FindAll()[0].Properties[attribute][0].ToString() ;}
    else {return  string.Empty;}
}

Web Configde System.Web altına

 

satırını eklyerek impersonate kullanmalısınız.