Autentifikasi user menggunakan Active Directory Service Interface

31 May 2005 – 1:28 pm

Setiap developer biasanya berhadapan dengan hal yang sama ketika membuat aplikasi yaitu menggunakan penggunaan modul user autentifikasi untuk pembatasan hak akses aplikasi. Entah sudah berapa kali saya membuat modul seperti itu sejak tahun 1990an. Hingga suatu kali atasan saya memunculkan suatu ide ‘Mengapa tidak kita gunakan saja user login-nya Windows alias Active Directory Service Interface atau ADSI?’. Good idea, and not only good but great. The questions now is HOW?? Akhirnya saya berpaling ke cara yang paling saya gemari… googling :D And whaala.. found several information about it. Saya mengkompile-nya, melakukan uji coba dan lain sebagainya hingga akhirnya terciptalah procedure user validasi sederhana ini.. fiuh. Jangan lupa untuk menambahkan System.DirectoryServices pada bagian using dari aplikasi C#.NET anda.

/// <summary>
/// Validate User of LDAP / Active Directory Service Interface
/// </summary>
/// <param name="DomainName">Nama domain dari ADSI (co. isnandi.net)< /param>
/// <param name="Login">nama login yang hendak di validasi </param>
/// <param name="Password">password dari login </param>
/// <returns></returns>
public bool ValidateADSIUser(string DomainName, string Login, string Password)
{
bool valid = false;

// Lakukan koneksi ke LDAP Server
string fullloginname = Login + "@" + DomainName;
DirectoryEntry ldapServer = new System.DirectoryServices.DirectoryEntry("LDAP://" + DomainName, fullloginname, Password);

try
{
//DirectorySearcher hanya dapat digunakan untuk LDAP provider.
System.DirectoryServices.DirectorySearcher Search = new System.DirectoryServices.DirectorySearcher(ldapServer);
Search.Filter = "(SAMAccountName=" + Login + ")";
System.DirectoryServices.SearchResult results = Search.FindOne();
//Karena kita hanya ingin melakukan autentifikasi, maka kita hanya mengambil satu hasil

if (results != null)
{
valid = true ;
}
}
catch (Exception e)
{
//nothing
valid = false;
}
finally
{ // akhirnya tidak lupa kita close koneksi ke LDAP provider
ldapServer.Close();
}

return valid;
}

Perlu juga diperhatikan bahwa prosedur ini hanya dapat digunakan pada LDAP 3.0 atau pada Windows Server 2003.

Related Post :

MySQL Collations and Character Sets, fitur baru MySql 4.1 yang buat pusing
Sungguh suatu keanehan luar biasa terjadi. Aplikasi monitoring resiko perdagangan bursa atau Risk Monitoring...
Windows XP SP2 membuat MS SQL Server 2000 tidak dapat diakses
Hari ini adalah pertama kalinya saya bertugas di klien yang merupakan suatu institusi pendidikan. Tugas...
Mengaktifkan akun built-in Administrator di Windows Vista
Buat developer atau yang terbiasa mengutak-atik PC seperti saya, akun dewa atau root atau administrator...
Easy PopMenu
Kaget. Haru. Bangga. Menjadi Satu. Aplikasi Easy PopMenu yang saya buat tahun 1999an (menurut situs...
Grab this Widget

Post a Comment