Custom MembershipProvider
Custom MembershipProvider diperlukan ketika aplikasi yang dikembangkan akan tidak menggunakan default provider untuk membership. Default provider yang digunakan adalah SqlMembershipProvider. Adapun pembuatan custom MembershipProvider sangat sederhana yaitu cukup meng-override method ValidateUser dari kelas MembershipProvider. Berikut adalah tiga langkah mudah pembuatan custom MembershipProvider:
1. Membuat sebuah kelas yang diturunkan dari kelas MembershipProvider
Membuat custom MembershipProvider berarti membuat sebuah kelas baru yang diturunkan dari kelas MembershipProvider.
namespace Provider
{
public
class MyCustomMembershipProvider : MembershipProvider{ public override bool ValidateUser(string username, string password)
{
// code untuk validasi user goes here
}
}
}
2. Meng-override method ValidateUser
Setelah kerangka kelas dibuat, langkah berikutnya adalah mengisikan code untuk mengoverride method ValidateUser. note: method lainnya dapat dioverride sesuai kebutuhan sehingga tidak harus semua method dari kelas MembershipProvider di override.
public override bool ValidateUser(string username, string password)
{
USERS_BO user = new USERS_BO();
user =
USERS_MGR.GETUSERSBYNAME(username);if (user != null)
{
if (user.PASSWORD != null)
{
string dbPassword = user.PASSWORD;
bool status = dbPassword.Equals(password);return status;
}
else
{
return false;
}
}
else
{
return false;
}
}
isi code diatas sangat sederhana, yaitu membandingkan password yang dimasukan oleh user di login screen dengan password yang sudah disimpan didalam database untuk user tertentu (yang diindikasikan melalui username).
3. Konfigurasi di web.config
and the last step nya adalah melakukan sedikit konfigurasi di web.config. Konfigurasi dilakukan agar aplikasi kita mengenali dan kemudian menggunakan custom MembershipProvider yang telah dibuat. adapun konfigurasi yang dilakukan adalah cukup menambahkan code seperti berikut:
<membership defaultProvider="Provider.MyCustomMembershipProvider">
<
providers><clear/>
<
add name="Provider.MyCustomMembershipProvider" type="Provider.MyCustomMembershipProvider" applicationName="/" connectionStringName="ConnectionString"/></providers>
</
membership>
Dapat dilihat, konfigurasi yang dilakukan adalah "memperkenalkan" custom MembershipProvider pada aplikasi dengan cara menuliskan nama kelas si custom MembershipProvider yang diawali dengan nama namespacenya.
done :-)