Bagikan melalui


Keanggotaan

oleh Microsoft

Catatan

Sejak artikel ini ditulis, penyedia keanggotaan ASP.NET telah digantikan oleh ASP.NET Identity. Kami sangat menyarankan untuk memperbarui aplikasi untuk menggunakan platform identitas ASP.NET daripada penyedia Keanggotaan yang ditampilkan pada saat artikel ini ditulis. ASP.NET Identity memiliki sejumlah keunggulan dibandingkan sistem Keanggotaan ASP.NET, termasuk :

  • Performa yang lebih baik
  • Peningkatan ekstensibilitas dan uji coba
  • Dukungan untuk OAuth, OpenID Connect, dan autentikasi dua faktor
  • Dukungan Identitas berbasis klaim
  • Interoperabilitas yang lebih baik dengan ASP.Net Core

ASP.NET Keanggotaan dibangun berdasarkan keberhasilan model autentikasi Formulir dari ASP.NET 1.x. autentikasi ASP.NET Forms menyediakan cara mudah untuk memasukkan formulir masuk ke dalam aplikasi ASP.NET Anda dan memvalidasi pengguna terhadap database atau penyimpanan data lainnya.

ASP.NET Keanggotaan dibangun berdasarkan keberhasilan model autentikasi Formulir dari ASP.NET 1.x. autentikasi ASP.NET Forms menyediakan cara mudah untuk memasukkan formulir masuk ke dalam aplikasi ASP.NET Anda dan memvalidasi pengguna terhadap database atau penyimpanan data lainnya. Anggota kelas FormsAuthentication memungkinkan untuk menangani cookie untuk autentikasi, memeriksa login yang valid, mengeluarkan pengguna, dll. Namun, menerapkan autentikasi Formulir dalam aplikasi ASP.NET 1.x dapat memerlukan sejumlah besar kode.

Keanggotaan di ASP.NET 2.0 adalah kemajuan besar daripada menggunakan autentikasi Formulir saja. (Keanggotaan paling kuat ketika digabungkan dengan autentikasi Formulir, tetapi menggunakan autentikasi Formulir bukanlah persyaratan.) Seperti yang akan segera Anda lihat, Anda dapat menggunakan Keanggotaan ASP.NET dan kontrol login di ASP.NET 2.0 untuk menerapkan sistem keanggotaan yang kuat tanpa menulis banyak kode sama sekali.

Menerapkan Keanggotaan di ASP.NET 2.0

Keanggotaan diimplementasikan dengan mengikuti empat langkah. Perlu diingat bahwa ada banyak sub-langkah yang terlibat serta konfigurasi opsional yang juga dapat diimplementasikan. Langkah-langkah ini dimaksudkan untuk mengilustrasikan gambaran besar tentang mengonfigurasi keanggotaan.

  1. Buat database keanggotaan Anda (jika SQL Server digunakan sebagai penyimpanan keanggotaan.)

  2. Tentukan opsi keanggotaan dalam file konfigurasi aplikasi Anda. (Keanggotaan diaktifkan secara default.)

  3. Tentukan jenis penyimpanan keanggotaan yang ingin Anda gunakan. Opsinya adalah:

    • Microsoft SQL Server (versi 7.0 atau yang lebih baru)
    • Penyimpanan Direktori Aktif
    • Penyedia keanggotaan kustom
  4. Konfigurasikan aplikasi untuk autentikasi ASP.NET Forms. Sekali lagi, Keanggotaan dirancang untuk memanfaatkan autentikasi Formulir, tetapi menggunakan autentikasi Formulir bukanlah persyaratan.

  5. Tentukan akun pengguna untuk keanggotaan dan konfigurasikan peran jika diinginkan.

Membuat Database Keanggotaan

Jika Anda menggunakan SQL Server 7.0 atau yang lebih baru sebagai penyimpanan keanggotaan, Anda dapat menggunakan utilitas aspnet_regsql (tersedia paling mudah dari Perintah Visual Studio .NET 2005) untuk mengonfigurasi database Anda. Utilitas aspnet_regsql dapat digunakan sebagai alat prompt perintah atau melalui wizard GUI. Metode wizard adalah cara term mudah untuk mengonfigurasi database Anda. Untuk mengakses wizard, cukup jalankan perintah berikut:

aspnet_regsql W

Setelah menjalankan perintah tersebut, Anda akan disajikan dengan Wizard Penyetelan ASP.NET SQL Server seperti yang ditunjukkan di bawah ini.

Cuplikan layar yang memperlihatkan Wizard Penyetelan Server A S P dot NET S Q L.

Gambar 1

Panduan Penyetelan ASP.NET SQL Server membuat situs Web dalam instans yang Anda tentukan dalam panduan. Namun, ASP.NET akan menggunakan string koneksi dalam file machine.config untuk menyambungkan ke database Anda. Secara default, string koneksi ini akan menunjuk ke instans SQL Server 2005, jadi jika Anda menggunakan instans SQL Server 2000 atau SQL Server 7.0, Anda harus memodifikasi string koneksi dalam file machine.config. String koneksi tersebut dapat ditemukan di sini:

<configuration>
    <connectionStrings>
      <add name="LocalSqlServer"
         connectionString="data source=(local);
         Integrated Security=SSPI;Initial Catalog=aspnetdb;"  
         providerName="System.Data.SqlClient" />
    </connectionStrings>
</configuration>

Sayangnya, jika Anda tidak memodifikasi string koneksi, ASP.NET tidak akan memberi Anda kesalahan deskriptif. Ini hanya akan terus mengeluh mengatakan bahwa Anda belum membuat database. Dalam kasus di atas, saya telah memodifikasi string koneksi untuk menunjuk ke instans SQL Server 2000 lokal saya.

Menentukan Konfigurasi dan Menambahkan Pengguna dan Peran

Langkah selanjutnya dalam mengonfigurasi Keanggotaan adalah menambahkan informasi yang diperlukan ke file web.config aplikasi. Dalam ASP.NET 1.x, memodifikasi file web.config terkadang sulit karena penggunaan lowerCamelCase dan kurangnya Intellisense. Visual Studio .NET 2005 membuat tugas jauh lebih mudah dengan Intellisense untuk file konfigurasi, tetapi ASP.NET 2.0 melangkah lebih jauh dengan menyediakan antarmuka Web untuk mengedit file konfigurasi.

Anda dapat meluncurkan antarmuka Web dengan mengklik tombol konfigurasi ASP.NET pada toolbar Penjelajah Solusi seperti yang ditunjukkan di bawah ini. Anda juga dapat meluncurkan antarmuka Web melalui pop-up yang ditampilkan saat kontrol Masuk disisipkan.

Cuplikan layar yang memperlihatkan toolbar Penjelajah Solusi dengan web.config dipilih.

Figur 2

Ini meluncurkan Alat Administrasi Situs Web ASP.NET yang ditunjukkan di bawah ini. Administrasi Situs Web ASP.NET adalah antarmuka empat tab yang memudahkan pengelolaan pengaturan aplikasi. Tab berikut ini tersedia:

  • Rumah
  • Keamanan Mengonfigurasi pengguna, peran, dan akses.
  • Aplikasi Mengonfigurasi pengaturan aplikasi.
  • Penyedia Konfigurasikan dan uji penyedia keanggotaan aplikasi Anda.

Alat Administrasi Situs Web memungkinkan Anda membuat pengguna baru dengan mudah, membuat peran baru, dan mengelola pengguna dan peran. Kemampuan ini tidak tersedia di antarmuka Windows. Antarmuka Windows memungkinkan Anda untuk dengan mudah menentukan pengaturan otorisasi dan untuk menambahkan, menghapus, dan mengelola penyedia, kemampuan yang tidak ada di Alat Administrasi Situs Web.

Untuk meluncurkan antarmuka Windows, buka snap-in Layanan Informasi Internet, klik kanan pada aplikasi Anda, dan pilih Properti. Klik tab ASP.NET lalu klik tombol Edit Konfigurasi. (Aplikasi harus berjalan di bawah ASP.NET 2.0 agar tombol Edit Konfigurasi diaktifkan. Anda juga dapat mengonfigurasi versi ASP.NET dalam dialog ASP.NET.) Dialog Pengaturan Konfigurasi ASP.NET ditampilkan seperti yang ditunjukkan di bawah ini.

Cuplikan layar yang memperlihatkan tab Umum pada dialog Pengaturan Konfigurasi A S P dot N E T.

Figur 3

Pada tab Umum, string koneksi dan pengaturan aplikasi dicantumkan. Pengaturan apa pun dalam miring ditentukan dalam file konfigurasi induk (baik machine.config atau web.config pada tingkat yang lebih tinggi) dan pengaturan yang tidak dalam miring berasal dari file konfigurasi aplikasi. Jika pengaturan ditambahkan, dihapus, atau diedit di tingkat aplikasi, ASP.NET akan menambahkan, menghapus, atau memodifikasi pengaturan di tingkat aplikasi web.config alih-alih menghapus pengaturan dari file konfigurasi tempat pengaturan tersebut diwariskan.

Tab Autentikasi diperlihatkan di bawah ini. Di sinilah Anda akan mengonfigurasi pengaturan keanggotaan Anda. Pengaturan autentikasi formulir, penyedia keanggotaan, dan penyedia peran dapat dikonfigurasi di sini.

Cuplikan layar yang memperlihatkan tab Autentikasi pada dialog Konfigurasi A S P dot N E T.

Gambar 4

Menerapkan Keanggotaan dalam Aplikasi Anda

Cara term mudah untuk mengimplementasikan keanggotaan ASP.NET 2.0 dalam aplikasi Anda adalah dengan menggunakan kontrol Masuk yang disediakan. Metode ini memungkinkan Anda untuk menerapkan dasar-dasar keanggotaan ASP.NET 2.0 tanpa menulis kode sama sekali.

Kontrol Masuk berikut tersedia di ASP.NET 2.0:

Kontrol Masuk

Kontrol Masuk menyediakan antarmuka bagi seseorang untuk masuk ke sistem keanggotaan Anda. Ini memberi Anda kotak teks nama pengguna dan kata sandi dan tombol masuk. Banyak fitur umum lainnya seperti tautan untuk mendaftar untuk orang yang belum melakukannya, kotak centang yang memungkinkan pengguna untuk secara otomatis masuk pada kunjungan berikutnya, tautan untuk pengingat kata sandi, dll. Semua fitur kontrol Login dapat disesuaikan melalui properti kontrol.

Dalam ASP.NET 1.x, pengembang harus menulis sejumlah besar kode untuk melakukan pencarian saat menggunakan autentikasi Formulir. Dengan keanggotaan ASP.NET 2.0, Anda dapat memvalidasi pengguna tanpa menulis kode sama sekali. ASP.NET akan secara otomatis melakukan pencarian pengguna untuk Anda. (Jika Anda menggunakan kontrol Masuk tanpa menggunakan keanggotaan ASP.NET, Anda dapat menggunakan metode OnAuthenticate untuk memvalidasi pengguna.)

Kontrol LoginView

Kontrol LoginView adalah kontrol templat yang menyediakan dua templat secara default; AnonymousTemplate dan LoggedInTemplate. Templat yang ditampilkan ditentukan oleh apakah pengguna masuk ke sistem keanggotaan Anda atau tidak. Kontrol ini biasanya digunakan untuk menampilkan kontrol Masuk ketika pengguna belum masuk dan kontrol LoginStatus dan/atau kontrol login lainnya saat pengguna telah masuk. Jika Anda menggunakan manajemen peran di aplikasi ASP.NET, kontrol LoginView dapat menampilkan templat tertentu berdasarkan peran pengguna. (Lebih lanjut tentang manajemen peran ASP.NET akan dibahas nanti.)

Kontrol Pemulihan Kata Sandi

Kontrol PasswordRecovery memungkinkan pengguna untuk menerima email dengan kata sandinya saat ini atau mengatur ulang kata sandinya. Teks yang jelas dan kata sandi terenkripsi dapat dipulihkan dan dikirim melalui email kepada pengguna. Jika kata sandi di-hash, kata sandi tidak dapat dipulihkan. Sebagai gantinya, pengguna akan diminta untuk melakukan reset kata sandi.

Kontrol LoginStatus

Kontrol LoginStatus digunakan untuk menampilkan indikator masuk kepada pengguna yang tidak masuk dan indikator keluar kepada pengguna yang saat ini masuk. Properti Request.IsAuthenticated digunakan untuk menentukan indikator mana yang akan ditampilkan. Indikator yang ditampilkan oleh kontrol LoginStatus dapat berupa teks (diimplementasikan melalui properti LoginText dan LogoutText ) atau gambar (diimplementasikan melalui properti LoginImageUrl dan LogoutImageUrl .)

Ketika pengguna keluar melalui kontrol LoginStatus, dia dialihkan ke URL yang ditentukan oleh properti LogoutPageUrl . Jika properti tersebut tidak diatur, halaman saat ini akan disegarkan. Karena situs kemungkinan dilindungi oleh autentikasi Formulir, refresh halaman saat ini akan mengalihkan pengguna ke halaman masuk untuk situs tersebut.

Kontrol LoginName

Kontrol LoginName menampilkan nama pengguna pengguna yang saat ini masuk ke situs.

Kontrol CreateUserWizard

Kontrol CreateUserWizard memberi pengguna cara mudah untuk mendaftar ke sistem keanggotaan Anda. Anda dapat menambahkan langkah-langkah (diimplementasikan sebagai kumpulan WizardSteps) melalui antarmuka yang ditunjukkan di bawah ini.

Cuplikan layar yang memperlihatkan dialog Buat Tugas Wizard Pengguna dengan menu drop-down untuk Mendaftar ke Akun Baru Anda.

Gambar 5

CreateUserWizard adalah kontrol templat yang berasal dari kelas Wizard dan menyediakan templat berikut:

  • HeaderTemplate Templat ini mengontrol tampilan header wizard.
  • SidebarTemplate Templat ini mengontrol tampilan bilah sisi wizard.
  • StartNavigationTemplate Templat ini mengontrol tampilan navigasi adalah panduan di langkah awal.
  • StepNavigationTemplate Templat ini mengontrol tampilan area navigasi saat tidak berada di langkah awal atau selesai.
  • FinishNavigationTemplate Templat ini mengontrol tampilan area navigasi saat pada langkah selesai.

Selain itu, untuk setiap langkah yang Anda tambahkan ke Wizard, ASP.NET akan membuat templat kustom yang berisi ContentTemplate dan CustomNavigationTemplate untuk langkah tersebut. Untuk detail selengkapnya tentang menyesuaikan CreateUserWizard, lihat dokumentasi VS.NET 2005:

Kontrol ChangePassword

Kontrol ChangePassword memungkinkan pengguna untuk mengubah kata sandinya. Jika properti DisplayUserName benar (salah secara default), pengguna dapat mengubah kata sandinya saat mereka tidak masuk. Jika pengguna sudah masuk dan properti DisplayUserName benar, pengguna akan dapat mengubah kata sandi pengguna lain yang tidak masuk asalkan mereka mengetahui ID pengguna pengguna tersebut.

Perlu diingat bahwa jika Anda ingin pengguna dapat mengubah kata sandi tanpa harus masuk, Anda harus memastikan bahwa halaman tempat kontrol ChangePassword ditampilkan memungkinkan akses anonim. Jelas, pengguna harus memberikan kata sandi lama mereka untuk mengubah kata sandi mereka.

Manajemen peran

Manajemen peran memungkinkan Anda menetapkan pengguna ke peran tertentu lalu membatasi akses ke file atau folder tertentu berdasarkan peran tersebut. Manajemen peran juga menyediakan API sehingga Anda dapat menentukan peran seseorang secara terprogram atau menentukan semua pengguna dalam peran tertentu dan meresponsnya.

Manajemen peran bukan persyaratan dalam keanggotaan ASP.NET, juga bukan merupakan persyaratan keanggotaan untuk menggunakan manajemen peran. Namun, keduanya saling melengkapi satu sama lain dengan baik dan kemungkinan pengembang akan menggunakannya bersama satu sama lain.

Untuk mengaktifkan manajemen peran di aplikasi Anda, buat perubahan berikut dalam file web.config Anda:

<roleManager enabled="true" cacheRolesInCookie="true" cookieProtection="All" />

Ketika atribut cacheRolesInCookie diatur ke true, ASP.NET menyimpan keanggotaan peran pengguna dalam cookie pada klien. Ini memungkinkan pencarian peran terjadi tanpa panggilan ke RoleProvider. Saat menggunakan atribut ini, pengembang didorong untuk memastikan bahwa atribut cookieProtection diatur ke Semua. (Ini adalah pengaturan default.) Ini memastikan bahwa data cookie dienkripsi dan membantu memastikan bahwa konten cookie belum diubah. Peran dapat ditambahkan menggunakan Alat Administrasi Situs Web. Ini memungkinkan Anda untuk dengan mudah menentukan peran, mengonfigurasi akses ke bagian situs berdasarkan peran tersebut, dan menetapkan pengguna ke peran.

Cuplikan layar yang memperlihatkan Alat Administrasi Situs Web A S P dot N E T dengan tombol Tambahkan Peran.

Gambar 6

Seperti yang ditunjukkan di atas, peran baru dapat ditambahkan hanya dengan memasukkan nama peran dan kemudian mengklik Tambahkan Peran. Peran yang ada dapat dikelola atau dihapus dengan mengklik tautan yang sesuai dalam daftar peran yang ada.

Saat mengelola peran, Anda dapat menambahkan atau menghapus pengguna seperti yang ditunjukkan di bawah ini.

Cuplikan layar yang memperlihatkan Alat Administrasi Situs Web A S P dot N E T dengan tombol Temukan Pengguna.

Gambar 7

Dengan mencentang kotak centang Pengguna Ada Dalam Peran, Anda dapat dengan mudah menambahkan pengguna ke peran tertentu. ASP.NET akan secara otomatis memperbarui database keanggotaan Anda dengan entri yang sesuai. Anda juga ingin mengonfigurasi aturan akses untuk aplikasi Anda. ASP.NET pengembang 1.x terbiasa melakukan ini melalui <elemen otorisasi> dalam file web.config, dan opsi tersebut masih tersedia di ASP.NET 2.0. Namun, lebih mudah untuk mengelola aturan akses menggunakan Alat Administrasi Situs Web seperti yang ditunjukkan di bawah ini.

Cuplikan layar yang memperlihatkan alat Administrasi Situs Web A S P dot N E T dengan item yang dipilih di bawah Pengguna dan Peran.

Gambar 8

Dalam hal ini, folder Administrasi disorot (sulit dilihat karena alat menyorotinya dalam abu-abu muda) dan peran Administrator telah diberikan akses. Semua pengguna lain ditolak. Anda dapat mengklik ikon kepala untuk memilih aturan lalu menggunakan tombol Pindah ke Atas dan Pindah ke Bawah untuk menyusun aturan. Seperti halnya elemen otorisasi> ASP.NET<, aturan diproses dalam urutan munculnya aturan tersebut. Dengan kata lain, jika urutan aturan dalam bidikan di atas dibalik, tidak ada yang akan memiliki akses ke folder Administrasi karena aturan pertama yang ASP.NET akan temui adalah aturan yang menolak semua orang ke folder.

ASP.NET 2.0 menambahkan file web.config ke folder tempat Anda menentukan aturan akses. Aturan akses dapat diedit melalui file konfigurasi atau melalui Alat Administrasi Situs Web. Dengan kata lain, Alat Administrasi Situs Web hanyalah antarmuka di mana file konfigurasi dapat diedit di lingkungan yang mudah digunakan.

Menggunakan Peran dalam Kode

API untuk manajemen peran tidak berubah sejak versi 1.x. Metode IsInRole digunakan untuk menentukan apakah pengguna berada dalam peran tertentu.

if (User.IsInRole(Administrators)) {
    btnManageSite.Visible = true;
}

ASP.NET juga membuat instans RolePrincipal sebagai anggota konteks saat ini. Objek RolePrincipal dapat digunakan untuk mendapatkan semua peran tempat pengguna berada sebagai berikut:

string[] userRoles = ((RolePrincipal)User).GetRoles();

Menggunakan RoleGroups dengan Kontrol LoginView

Sekarang setelah Anda memiliki pemahaman tentang manajemen peran dan keanggotaan, mari kita bahas secara singkat bagaimana kontrol LoginView memanfaatkan kemampuan ini di ASP.NET 2.0. Seperti yang dibahas sebelumnya, kontrol LoginView adalah kontrol templat yang berisi dua templat secara default; AnonymousTemplate dan LoggedInTemplate. Dalam dialog Tugas LoginView adalah tautan (ditunjukkan di bawah) yang memungkinkan Anda mengedit RoleGroups.

Cuplikan layar yang memperlihatkan kontrol Tampilan Masuk dalam dialog Tugas Tampilan Masuk dengan menu drop-down dan Grup Peran dipilih.

Gambar 9

Setiap objek RoleGroup berisi array string yang menentukan peran mana yang diterapkan RoleGroup. Untuk menambahkan RoleGroup baru ke kontrol LoginView, klik tautan Edit RoleGroups. Pada gambar di atas, Anda dapat melihat bahwa saya telah menambahkan RoleGroup baru untuk Administrator. Dengan memilih RoleGroup (RoleGroup[0]) dari menu dropdown Tampilan, saya dapat mengonfigurasi templat yang hanya akan ditampilkan kepada anggota peran Administrator. Pada gambar di bawah ini, saya telah menambahkan RoleGroup baru yang berlaku untuk anggota peran Penjualan dan peran Distribusi. Ini menambahkan RoleGroup kedua ke menu dropdown Tampilan dalam dialog Tugas LoginView dan apa pun yang ditambahkan ke templat tersebut akan terlihat oleh pengguna mana pun dalam peran Penjualan atau Distribusi.

Cuplikan layar yang memperlihatkan dialog Editor Koleksi Grup Peran dengan menu dropdown memilih Administrator.

Gambar 10

Mengesampingkan Penyedia Keanggotaan yang Ada

Ada beberapa cara agar Anda dapat memperluas fungsionalitas keanggotaan ASP.NET. Pertama-tama, Anda jelas dapat mengubah fungsionalitas kelas SqlMembershipProvider yang ada dengan mewarisinya dan mengambil alih metodenya. Misalnya, jika Anda ingin menerapkan fungsionalitas Anda sendiri saat pengguna dibuat, Anda dapat membuat kelas Anda sendiri yang mewarisi dari SqlMembershipProvider sebagai berikut:

public class jForumMembershipProvider : SqlMembershipProvider {
    public jForumMembershipProvider() {

    }
    public override MembershipUser CreateUser(
    string username,
    string password,
    string email,
    string passwordQuestion,
    string passwordAnswer,
    bool isApproved,
    object providerUserKey,
    out MembershipCreateStatus status) {
        // your own implementation
        return base.CreateUser(
        username,
        password,
        email,
        passwordQuestion,
        passwordAnswer,
        isApproved,
        providerUserKey,
        out status);
    }
}

Jika, di sisi lain, Anda ingin membuat penyedia Anda sendiri (untuk menyimpan informasi keanggotaan Anda dalam database Access, misalnya), Anda bisa membuat penyedia Anda sendiri.

Membuat penyedia keanggotaan Anda sendiri

Untuk membuat penyedia keanggotaan Anda sendiri, Anda harus terlebih dahulu membuat kelas yang mewarisi dari kelas MembershipProvider. Jika Anda menggunakan VB.NET, Visual Studio 2005 akan menambahkan stub untuk semua metode yang perlu Anda ambil alih. Jika Anda menggunakan C#, terserah Anda untuk menambahkan stub.

Anda harus mengambil alih hal-hal berikut:

  • Properti ApplicationName
  • Fungsi ChangePassword
  • Fungsi ChangePasswordQuestionAndAnswer
  • Fungsi CreateUser
  • Fungsi DeleteUser
  • Properti EnablePasswordReset
  • Properti EnablePasswordRetrieval
  • Fungsi FindUsersByEmail
  • Fungsi FindUsersByName
  • Fungsi GetAllUsers
  • Fungsi GetNumberOfUsersOnline
  • Fungsi GetPassword
  • Fungsi GetUser
  • Fungsi GetUserNameByEmail
  • Properti MaxInvalidPasswordAttempts
  • Properti MinRequiredNonAlphanumericCharacters
  • Properti MinRequiredPasswordLength
  • Properti PasswordAttemptWindow
  • Properti PasswordFormat
  • Properti PasswordStrengthRegularExpression
  • Properti RequiresQuestionAndAnswer
  • Properti RequiresUniqueEmail
  • Fungsi ResetPassword
  • Membuka kunci fungsi pengguna
  • Fungsi UpdateUser
  • Fungsi ValidateUser

Itu cukup daftar untuk diimplementasikan sebagai pengembang C#. Anda mungkin merasa lebih mudah untuk membuat kelas di VB.NET tanpa implementasi apa pun dan kemudian menggunakan .NET Reflector atau alat serupa untuk mengonversi kode ke C#.

String koneksi dan properti lainnya harus diatur ke defaultnya dalam metode Inisialisasi. (Metode Inisialisasi diaktifkan ketika penyedia dimuat saat runtime.) Parameter kedua untuk metode Inisialisasi adalah jenis System.Collections.Specialized.NameValueCollection dan merupakan referensi ke <elemen add> yang terkait dengan penyedia kustom Anda dalam file web.config. Entri tersebut terlihat seperti berikut ini:

<system.web>
  <authentication mode="Forms"/>
  <membership
  defaultProvider="jForumCustomMembershipProvider" >
    <providers>
      <add name="jForumCustomMembershipProvider"
      type="jForumCustomMembershipProvider"
      requiresQuestionAndAnswer="true"
      connectionString="Provider=Microsoft.Jet.
        OLEDB.4.0;Data Source=C:\jForumCustomMembershipProvider\
        App_Data\Members.mdb;Persist Security
        Info=False"
        />
    </providers>
  </membership>
</system.web>

Berikut adalah contoh metode Inisialisasi.

public override void Initialize(string name,
    System.Collections.Specialized.NameValueCollection config) {

    if (config["requiresQuestionAndAnswer"])
        _requiresQuestionAndAnswer = true;
    _connString = config["connectionString"];
    base.Initialize(name, config);
}

Untuk memvalidasi pengguna saat mereka mengirimkan formulir masuk, Anda harus menggunakan metode ValidateUser. Metode ini diaktifkan ketika pengguna mengklik tombol masuk di kontrol Masuk. Anda akan menempatkan kode Anda yang melakukan pencarian pengguna dalam metode ini.

Seperti yang Anda lihat, menulis penyedia keanggotaan Anda sendiri tidak sulit dan memungkinkan Anda untuk memperluas fungsionalitas canggih ini ASP.NET 2.0.