Keamanan dan otentikasi aplikasi ASP.NET WebPages dijamin melalui objek WebSecurity. Bagian ini memperkenalkan Anda pada properti, metode, dan penggunaan terkait objek WebSecurity.
Objek WebSecurity menyediakan keamanan dan otentikasi untuk aplikasi ASP.NET Web Pages.
Melalui objek WebSecurity, Anda dapat membuat akun pengguna, login dan keluar pengguna, mereset atau mengubah kata sandi, dan banyak fungsi terkait keamanan lainnya.
milik | menggambarkan |
---|---|
IdPengguna Saat Ini | Dapatkan ID pengguna yang saat ini masuk. |
Nama Pengguna Saat Ini | Dapatkan nama pengguna yang saat ini masuk. |
MemilikiUserId | Mengembalikan nilai benar jika saat ini ada ID pengguna. |
Telah diautentikasi | Mengembalikan nilai benar jika pengguna saat ini masuk. |
metode | menggambarkan |
---|---|
Ubah Kata Sandi() | Ubah kata sandi untuk pengguna yang ditentukan. |
Konfirmasi Akun() | Konfirmasikan akun menggunakan token konfirmasi akun. |
Buat Akun() | Buat akun pengguna baru. |
BuatPenggunaDanAkun() | Buat akun pengguna baru. |
HasilkanPasswordResetToken() | Menghasilkan token pengaturan ulang kata sandi yang dapat dikirim ke pengguna melalui email sehingga pengguna dapat mengatur ulang kata sandinya. |
DapatkanCreateDate() | Dapatkan waktu pembuatan anggota yang ditentukan. |
DapatkanPasswordChangeDate() | Dapatkan tanggal dan waktu kata sandi diubah. |
DapatkanUserId() | Dapatkan ID pengguna berdasarkan nama pengguna. |
InisialisasiDatabaseConnection() | Inisialisasi sistem Keamanan Web (database). |
Telah Dikonfirmasi() | Periksa apakah pengguna telah dikonfirmasi. Mengembalikan nilai benar jika dikonfirmasi. (Konfirmasi bisa lewat email misalnya.) |
IsCurrentUser() | Memeriksa apakah nama pengguna saat ini cocok dengan nama pengguna yang ditentukan. Jika ada yang cocok, kembalikan true. |
Login() | Tetapkan token autentikasi dan login pengguna. |
Keluar() | Hapus token autentikasi dan keluarkan pengguna. |
MemerlukanPengguna yang Diautentikasi() | Jika pengguna tidak diautentikasi, setel status HTTP ke 401 (Tidak Sah). |
Membutuhkan Peran() | Jika pengguna saat ini bukan anggota dari peran yang ditentukan, setel status HTTP ke 401 (Tidak Sah). |
MemerlukanPengguna() | Jika pengguna saat ini bukan pengguna dengan nama pengguna yang ditentukan, atur status HTTP ke 401 (Tidak Sah). |
Atur Ulang Kata Sandi() | Jika token reset kata sandi valid, ubah kata sandi pengguna ke kata sandi baru. |
Pengguna Ada() | Memeriksa apakah pengguna yang ditentukan ada. |
nama | nilai |
---|---|
Kelas | WebMatrix.WebData.Keamanan Web |
Ruang nama | WebMatrix.WebData |
Perakitan | WebMatrix.WebData.dll |
Jika Anda ingin menggunakan objek WebSecurity dalam kode Anda, pertama-tama Anda harus membuat atau menginisialisasi database WebSecurity.
Di direktori root web Anda, buat halaman bernama _AppStart.cshtml (atau edit halaman secara langsung jika sudah ada).
Salin kode berikut ke dalam file:
@{ WebSecurity.InitializeDatabaseConnection("Pengguna", "Profil Pengguna", "Id Pengguna", "Email", benar }
Kode di atas akan dijalankan setiap kali website (aplikasi) dimulai. Ini menginisialisasi database WebSecurity.
"Pengguna" adalah nama database WebSecurity (Users.sdf).
"UserProfile" adalah nama tabel database yang berisi informasi profil pengguna.
"UserId" adalah nama kolom yang berisi ID pengguna (kunci utama).
"Email" adalah nama kolom yang berisi nama pengguna.
Parameter terakhir true adalah nilai Boolean, yang menunjukkan bahwa jika tabel konfigurasi pengguna dan tabel keanggotaan tidak ada, tabel akan dibuat secara otomatis. Jika Anda tidak ingin membuat tabel secara otomatis, Anda harus mengatur parameternya ke false .
Meskipun true berarti tabel database akan dibuat secara otomatis, namun database tidak akan dibuat secara otomatis. Jadi databasenya harus ada. |
Tabel UserProfile membuat dan menyimpan catatan untuk setiap pengguna, ID pengguna (kunci utama) dan nama pengguna (email):
ID Pengguna | |
---|---|
1 | [email protected] |
2 | [email protected] |
3 | [email protected] |
Tabel Keanggotaan berisi informasi keanggotaan, seperti kapan pengguna dibuat, apakah anggota telah diautentikasi, kapan anggota diautentikasi, dll.
Detailnya adalah sebagai berikut (beberapa kolom tidak ditampilkan):
ID Pengguna | Tanggal Pembuatan | Token Konfirmasi | Dikonfirmasi | Kegagalan Kata Sandi Terakhir | Kata sandi | Perubahan Kata Sandi |
---|---|---|---|---|---|---|
1 | 04-12-2012 16:12:17 | BATAL | BENAR | BATAL | AFNQhWfy.... | 04-12-2012 16:12:17 |
Catatan: Jika Anda ingin melihat semua kolom dan isinya, buka database dan lihat setiap tabel di dalamnya.
Saat Anda menggunakan objek WebSecurity, jika situs Anda tidak dikonfigurasi untuk menggunakan sistem keanggotaan ASP.NET Web Pages SimpleMembership , kesalahan mungkin dilaporkan.
Kesalahan juga dapat terjadi jika server penyedia hosting dikonfigurasi berbeda dari server lokal Anda. Untuk mengatasi masalah ini, tambahkan elemen berikut ke file Web.config situs web Anda:
<appSettings> <tambahkan key="enableSimpleMembership" value="true" /> </appSettings>
Di atas adalah pengenalan objek WebSecurity.