HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Active Directory-ban tárolt felhasználók listázása weben keresztül


Példaprogram letöltése

10269 bájt

Készítsünk egy olyan ASP.NET-es alkalmazást, mely lehetővé teszi, hogy egy web lap formájában kaphassunk egy listát arról, hogy az Active Directory-ban milyen nevű felhasználók lettek felvéve és mikor.
A lista elkészítéséhez szükséges lesz egy olyan tartomány elérése, ahol a felhasználók az Active Directory-ban vannak tárolva, ha ez adott akkor már egyszerű a feladatunk.

A mellékelt példa futtatása előtt a WebForm1.aspx.cs 34. sorában javítania kell az LDAP kapcsolódási sztringet úgy, hogy az az Ön által elérhető tartományra mutasson.
Első lépésként kapcsolódnunk kell ehhez a tartományhoz az LDAP protokollon keresztül. A kapcsolatot a Users nevű tárolóval kell létrehoznunk, mivel itt találjuk a felhasználóinkat.
A web oldalon a táblázatot most egy érdekes megoldással hozzuk létre: tegyünk a web lapra egy Label kontrolt. Ennek Text property-jét majd programból fogjuk beállítani, méghozzá úgy, hogy az egy olyan HTML kódot kapjon értékül, amely egy HTML Table-t ír le. Mivel a Label kontrol Text property-je változás nélkül kerül a web oldalba, így ha az HTML kódot tartalmaz, akkor az értelmezve lesz és így a táblázat megjelenik.
    private void Page_Load(object sender, System.EventArgs e)
    {      
      DirectoryEntry de = new DirectoryEntry("LDAP://cn=Users,DC=animare,DC=local");
Ha adott a kapcsolat, akkor DirectoryEntry osztály Children nevű property-ben egy kollekcióban elérjük a felhasználókat. Nincs más tennivalónk, mint végigmenni e kollekción. Ehhez kérünk egy IEnumerator interfészt a GetEnumerator függvény hívásával.
      IEnumerator ie = de.Children.GetEnumerator();
      DirectoryEntry d;
A táblázat HTML kódja a TABLE utasítással kezdődik. Ezt követően egy ciklust kezdeményezünk, mely végigmegy a Children kollekció összes elemén.
      Label1.Text = "<table>";
      while (ie.MoveNext())
      {
Minden felhasználót a táblázat egy új sorába helyezzük. A sor első cellájába kerül a felhasználói név, másodikba a whenCreated tulajdonság, mely a felhasználó létrehozási időpontját tárolja.
        Label1.Text += "<tr><td>";
        d = (DirectoryEntry)ie.Current;
        Label1.Text += d.Name;
        Label1.Text += "</td><td>";
        Label1.Text += d.Properties["whenCreated"].Value;
        Label1.Text += "</td></tr>";
      }    
      Label1.Text += "</table>";
    }

Könyv
Ez a cikk megtalálható ebben a könyvben: C# Software Offline 2002 évkönyv 180. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |