Deskripsi
The WebSecurity Obyek menyediakan keamanan dan otentikasi untuk aplikasi ASP.NET Web Pages.
Dengan objek WebSecurity Anda dapat membuat account pengguna, login dan pengguna logout, reset atau mengubah password, dan banyak lagi.
WebSecurity Object Reference - Properti
properti | Deskripsi |
---|---|
CurrentUserId | Mendapat ID untuk pengguna saat ini |
CurrentUserName | Mendapatkan nama pengguna saat |
HasUserId | Mengembalikan nilai true jika saat ini memiliki ID pengguna |
IsAuthenticated | Mengembalikan nilai true jika pengguna saat login |
WebSecurity Object Reference - Metode
metode | Deskripsi |
---|---|
ChangePassword() | Mengubah password untuk pengguna |
ConfirmAccount() | Menegaskan akun menggunakan token konfirmasi |
CreateAccount() | Membuat akun pengguna baru |
CreateUserAndAccount() | Membuat akun pengguna baru |
GeneratePasswordResetToken() | Menghasilkan tanda yang dapat dikirim sebagai pengguna melalui email |
GetCreateDate() | Mendapatkan waktu keanggotaan ditentukan diciptakan |
GetPasswordChangeDate() | Mendapatkan tanggal dan waktu ketika sandi diubah |
GetUserId() | Mendapat ID pengguna dari nama pengguna |
InitializeDatabaseConnection() | Menginisialisasi sistem WebSecurity (database) |
IsConfirmed() | Cek jika pengguna dikonfirmasi |
IsCurrentUser() | Cek apakah pengguna saat ini cocok dengan nama pengguna |
Login() | Log pengguna dalam dengan menetapkan token pada cookie |
Logout() | Log pengguna keluar dengan menghapus cookie tanda |
RequireAuthenticatedUser() | Keluar halaman jika pengguna adalah bukan pengguna dikonfirmasi |
RequireRoles() | Keluar halaman jika pengguna bukan merupakan bagian dari peran yang ditentukan |
RequireUser() | Keluar halaman jika pengguna tidak pengguna tertentu |
ResetPassword() | Perubahan password pengguna menggunakan token |
UserExists() | Cek jika pengguna diberikan ada |
Data teknis
Nama | Nilai |
---|---|
Kelas | WebMatrix.WebData.WebSecurity |
namespace | WebMatrix.WebData |
Majelis | WebMatrix.WebData.dll |
Menginisialisasi WebSecurity database
Anda harus membuat atau menginisialisasi database WebSecurity sebelum Anda dapat menggunakan objek WebSecurity dalam kode Anda.
Di root web Anda, membuat halaman (or edit the page ) bernama _AppStart.cshtml.
Masukan kode berikut dalam file tersebut:
_AppStart.cshtml
@{
WebSecurity.InitializeDatabaseConnection("Users", "UserProfile",
"UserId", "Email", true);
}
Kode di atas akan dijalankan setiap kali situs web (application) dimulai. Ini menginisialisasi database WebSecurity.
"Pengguna" adalah nama dari database WebSecurity (Users.sdf) .
"UserProfile" adalah nama dari tabel database yang berisi informasi profil pengguna.
"UserId" adalah nama dari kolom yang berisi ID pengguna (primary key) .
"Email" adalah nama dari kolom yang berisi nama pengguna.
Parameter terakhir yang benar adalah nilai boolean yang menunjukkan bahwa profil pengguna dan tabel keanggotaan harus dibuat secara otomatis jika mereka tidak ada, jika tidak palsu.
Meskipun benar menunjukkan penciptaan otomatis dari tabel database, database itu sendiri tidak akan dibuat secara otomatis. Ini harus ada.
The WebSecurity database
Tabel UserProfile berisi satu record untuk setiap pengguna, dengan user ID (primary key) dan nama pengguna (email) :
Identitas pengguna | |
---|---|
1 | [email protected] |
2 | [email protected] |
3 | [email protected] |
Tabel Keanggotaan akan berisi informasi keanggotaan tentang kapan pengguna diciptakan dan jika (and when) keanggotaan dikonfirmasi.
Seperti ini (some columns are not shown) :
pemakai id | Membuat Tanggal | Konfirmasi Token | Aku s dikonfirmasi | Terakhir Kata sandi Kegagalan | Kata sandi | Kata sandi Perubahan |
---|---|---|---|---|---|---|
1 | 2012/04/12 16:12:17 | BATAL | Benar | BATAL | AFNQhWfy .... | 2012/04/12 16:12:17 |
Catatan: Jika Anda ingin melihat semua kolom dan semua konten, membuka database dengan WebMatrix dan melihat ke dalam setiap meja.
Konfigurasi Keanggotaan sederhana
Anda mungkin mendapatkan error menggunakan objek WebSecurity, jika situs Anda tidak dikonfigurasi untuk menggunakan ASP.NET Web Pages sistem keanggotaan SimpleMembership.
Hal ini dapat terjadi jika server penyedia hosting dikonfigurasi berbeda dari server lokal Anda. Untuk mengatasinya, tambahkan elemen berikut ke file Web.config situs:
<appSettings>
<add key="enableSimpleMembership" value="true" />
</appSettings>