ASP.NET Web Pages - Objek WebSecurity

Deskripsi

Objek WebSecurity menyediakan keamanan dan autentikasi untuk aplikasi ASP.NET Web Pages.

Dengan objek WebSecurity, Anda dapat membuat akun pengguna, login dan logout, reset atau mengubah sandi, dan lainnya untuk aplikasi ASP.NET Web Pages.

Panduan Referensi Objek WebSecurity - Properti

Properti Deskripsi
CurrentUserId Dapatkan ID pengguna saat ini.
CurrentUserName Dapatkan nama pengguna saat ini.
HasUserId Dapatkan nilai yang menunjukkan apakah pengguna saat ini memiliki ID pengguna. Jika ya, kembalikan true.
IsAuthenticated Dapatkan status autentikasi pengguna saat ini.

Panduan Referensi Objek WebSecurity - Metode

Properti Deskripsi
ChangePassword() Ubah sandi pengguna.
ConfirmAccount() Konfirmasi keberlanjutan akun dan aktifkan akun ini.
CreateAccount() Membuat akun pengguna baru.
CreateUserAndAccount() Membuat akun pengguna baru.
GeneratePasswordResetToken() Mengenerate token reset sandi yang dapat dikirim melalui email kepada pengguna.
GetCreateDate() Mengembalikan tanggal dan waktu pembuatan akun keanggotaan yang ditentukan.
GetPasswordChangeDate() Mengembalikan tanggal dan waktu perubahan sandi akun keanggotaan yang ditentukan terbaru.
GetPasswordFailures
SinceLastSuccess()
Mengembalikan jumlah kesalahan input sandi yang salah sejak login sukses terakhir atau pembuatan akun keanggotaan.
GetUserId() Mengembalikan ID pengguna berdasarkan nama pengguna yang ditentukan.
GetUserIdFrom
PasswordResetToken ()
Kembalikan ID pengguna dari token pengaturan ulang sandi.
InitializeDatabaseConnection() Inisialisasi sistem keanggotaan dengan menghubungkan ke database yang mengandung informasi pengguna.
IsAccountLockedOut() Menunjukkan apakah akun keanggotaan yang ditentukan disegel karena percobaan sandi yang gagal terlalu banyak.
IsConfirmed() Kembalikan nilai yang menunjukkan apakah pengguna sudah disahkan.
IsCurrentUser() Kembalikan nilai yang menunjukkan apakah nama pengguna pengguna yang masuk cocok dengan nama pengguna yang ditentukan.
Login() Masuk ke akun pengguna.
Logout() Keluar dari sesi pengguna.
RequireAuthenticatedUser() Jika pengguna belum terotentikasi, atur kode status HTTP menjadi 401 (tidak berwenang).
RequireRoles() Jika pengguna saat ini bukan anggota dari peran yang ditentukan, atur kode status HTTP menjadi 401.
RequireUser() Jika pengguna saat ini bukan pengguna yang ditentukan, atur kode status HTTP menjadi 401.
ResetPassword() Atur ulang sandi dengan menggunakan token pengaturan ulang sandi.
UserExists() Periksa apakah pengguna ada.

Technical Data

Name Value
Class WebMatrix.WebData.WebSecurity
Namespace WebMatrix.WebData
Assembly WebMatrix.WebData.dll

Inisialisasi Database WebSecurity

Sebelum menggunakan objek WebSecurity, Anda harus membuat atau menginisialisasi database WebSecurity.

Di direktori web, buat atau edit halaman _AppStart.cshtml.

Tulis kode berikut di dalam berkas ini:

_AppStart.cshtml

@{
WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId", "Email", 
true);
}

Situs web akan menjalankan kode di atas setiap kali situs ini dijalankan. Ini akan menginisialisasi database WebSecurity.

"Users" adalah nama database WebSecurity (Users.sdf).

"UserProfile" adalah nama tabel database yang mengandung informasi konfigurasi pengguna.

"UserId" adalah nama kolom yang mengandung ID pengguna (kunci utama).

"Email" adalah nama kolom yang mengandung nama pengguna.

Parameter terakhir true adalah nilai logis yang menunjukkan tabel profil pengguna dan tabel keanggotaan harus dibuat (jika belum ada), lainnya false.

Petunjuk: Meskipun true menunjukkan penempatan otomatis tabel database, database sendiri tidak akan dibuat otomatis. Itu harus ada.

Database WebSecurity

Setiap catatan di tabel UserProfile mewakili pengguna, termasuk ID pengguna (kunci utama) dan nama pengguna (email):

UserId Email
1 john@johnson.net
2 peter@peterson.com
3 lars@larson.eut

Tabel Membership mengandung informasi keanggotaan, seperti kapan pengguna dibuat serta apakah (dan kapan) keanggotaan disahkan.

Seperti ini (beberapa kolom belum disebutkan):

UserId Tanggal Pembuatan Konfirmasi
Token
Apakah
Konfirmasi
Terakhir
Sandi Salah
Sandi Perubahan Sandi
1 12.04.2012 16:12:17 NULL True NULL AFNQhWfy.... 12.04.2012 16:12:17

Keterangan:Jika Anda ingin melihat semua kolom dan semua konten, buka database melalui WebMatrix, lalu lihat setiap tabel.

Konfigurasi Keanggotaan Sederhana

Jika situs Anda belum dikonfigurasi untuk menggunakan sistem keanggotaan ASP.NET Web Pages SimpleMembership, mungkin akan muncul kesalahan saat menggunakan objek WebSecurity.

Jika konfigurasi pemberi layanan host berbeda dari server lokal Anda, akan terjadi kesalahan. Untuk memecahkan masalah ini, tambahkan elemen berikut ke berkas Web.config situs Anda:

<appSettings> 
<add key="enableSimpleMembership" value="true" /> 
</appSettings>