Custom RoleProvider
Meneruskan artikel sebelumnya tentang custom membership provider, maka kali ini saya akan coba tuliskan sekilas tentang custom role provider. Implementasi dari custom role provider kurang lebih sama dengan implementasi custom membership provider yaitu melalui tiga langkah mudah yaitu: membuat kelas turunan, meng-override method dan terakhir adalah konfigurasi web.config.
1. Membuat kelas turunan
untuk custom role provider ini, kelas yang akan dibuat diturunkan dari kelas RoleProvider.
namespace Provider
{
public class SybaseRoleProvider : RoleProvider
{
}
}
note: penamaan kelas turunan adalah bebas, saya menggunakan "Sybase" karena client menginginkan saya meng-custom role and membership dengan menggunakan Sybase sebagai beck-end. Awalan "Sybase" akan mengingatkan bahwa beck-end yang hendak digunakan adalah Sybase.
2. Meng-override method GetRolesForUser
Method GetRolesForUser akan mengambil roles dari seorang user dengan menggunakan informasi username yang diinputkan. Isi dari method ini adalah akses ke database yang akan mengembalikan nama-nama roles yang dimiliki oleh seorang user berdasarkan username nya.
public override string[] GetRolesForUser(string username)
{
}
keluaran dari method GetRolesForUser adalah array string yaitu nama-nama roles yang dimilki oleh user tertentu.
3. Konfigurasi web.config
langkah terakhir adalah konfigurasi web.config
<roleManager enabled="true" defaultProvider="Provider.SybaseRoleProvider">
<
providers><clear/>
<
add applicationName="/" connectionStringName="ConnectionString" name="Provider.SybaseRoleProvider" type="Provider.SybaseRoleProvider"/></providers>
</
roleManager>
and finish :-)
HTH