Seperti yang kita ketahui bahwa di ASP.NET 2.0 sudah Built-In Providers untuk membantu kerja developer.
- Membership
- Role management
- Site map
- Profile
- Session state
- Web events
- Web Parts personalization
- Protected configuration
Yang akan saya bahas disini adalah Membership Provider dan Role Provider,
Membership
System.Web.Security.ActiveDirectoryMembershipProvider
System.Web.Security.SqlMembershipProvider
Role management
System.Web.Security.AuthorizationStoreRoleProvider
System.Web.Security.SqlRoleProvider
System.Web.Security.WindowsTokenRoleProvider
OK, bagaimana dengan developer yang menggunakan Oracle untuk menyimpan persistent state tersebut? Sudah pasti ASP.NET menyediakan API untuk itu, contohnya untuk Membership Provider, jika merujuk pada http://msdn.microsoft.com/en-us/library/system.web.security.sqlmembershipprovider.aspx maka Inheritance Hierarchy dari System.Web.Security.SqlMembershipProvider adalah:
System.Object
System.Configuration.Provider.ProviderBase
System.Web.Security.MembershipProvider
System.Web.Security.SqlMembershipProvider
Dari informasi tersebut, sudah cukup untuk membuat Membership Provider sendiri, katakanlah Erudeye.Web.Security.OracleMembershipProvider, dan Inheritance Hierarchy nya seperti ini:
System.Object
System.Configuration.Provider.ProviderBase
System.Web.Security.MembershipProvider
Erudeye.Web.Security.OracleMembershipProvider
Done, untuk Provider nya sudah ada gambaran, kemudian bagaimana dengan persistent datanya? Again, kita "nyontek" struktur database milik SQL Server Provider.
Tabel-tabel di atas tidak semuanya digunakan oleh Membership dan Role Provider, tabel di atas adalah tabel keseluruhan dari ASP.NET 2.0 Provider. Ketika akan "mencontek" skema database tersebut, tentu saja tidak cukup dengan melihat skema di atas, kita perlu data lengkap dari skema tersebut. Query dari skema di atas dapat kita temukan di folder C:\Windows\Microsoft.NET\Framework\v2.0.50727 dengan filename yang berakhiran .sql. Dari query tersebut dapat kita buat versi Oracle nya. Contoh untuk tabel aspnet_Users dalam versi Oracle nya:
Provider sudah ada gambaran dan Persistent sudah siap, what next on part 2? Build an Oracle Provider and Provider Helper for Oracle.