tutorial pengembangan web terbaru
 

ASP.NET Halaman Web - WebSecurity Obyek


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 E-mail
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>