Latest web development tutorials

Pedoman ASP.NET Web Pages WebSecurity Referensi

deskripsi

WebSecurity ASP.NET Web Pages objek memberikan keamanan aplikasi dan otentikasi.

Dengan WebSecurity objek, Anda dapat membuat akun pengguna, logon pengguna dan logoff, reset atau mengubah password Anda, dan fungsi yang berhubungan dengan keamanan yang lebih.


WebSecurity Object Reference - Properti

属性 描述
CurrentUserId 获取当前登录用户的 ID。
CurrentUserName 获取当前登录用户的名称。
HasUserId 如果当前有用户 ID,则返回 true。
IsAuthenticated 如果当前用户是登录的,则返回 true。

WebSecurity Object Reference - Metode

方法 描述
ChangePassword() 为指定的用户更改密码。
ConfirmAccount() 使用帐户确认令牌确认帐户。
CreateAccount() 创建一个新的用户帐户。
CreateUserAndAccount() 创建一个新的用户帐户。
GeneratePasswordResetToken() 生成一个密码重置令牌,可以在电子邮件中发送给用户以便用户可以重设密码。
GetCreateDate() 获取指定会员创建的时间。
GetPasswordChangeDate() 获取密码变更的日期和时间。
GetUserId() 根据用户名称获取用户 ID。
InitializeDatabaseConnection() 初始化 WebSecurity 系统(数据库)。
IsConfirmed() 检查用户是否已被确认。如果已确认,则返回 true。(例如,可通过电子邮件进行确认。)
IsCurrentUser() 检查当前用户的名称是否与指定用户名匹配。如果匹配,则返回 true。
Login() 设置身份验证令牌,登录用户。
Logout() 移除身份验证令牌,注销用户。
RequireAuthenticatedUser() 如果用户未通过身份验证,则设置 HTTP 状态为 401(未经授权)。
RequireRoles() 如果当前用户不是指定角色的成员,则设置 HTTP 状态为 401(未经授权)。
RequireUser() 如果当前用户不是指定用户名的用户,则设置 HTTP 状态为 401(未经授权)。
ResetPassword() 如果密码重置令牌是有效的,改变用户的密码为新密码。
UserExists() 检查指定的用户是否存在。


Data teknis

名称
Class WebMatrix.WebData.WebSecurity
Namespace WebMatrix.WebData
Assembly WebMatrix.WebData.dll


Database inisialisasi WebSecurity

Jika Anda ingin menggunakan objek WebSecurity dalam kode Anda, Anda harus terlebih dahulu membuat atau menginisialisasi database yang WebSecurity.

Di direktori root web Anda, buat file bernama halaman _AppStart.cshtml (jika sudah ada, Anda akan langsung mengedit halaman).

Salin kode berikut ke file:

_AppStart.cshtml

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

Kode di atas akan dijalankan pada setiap situs (aplikasi) dimulai. Ini menginisialisasi database WebSecurity.

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

"UserProfile" adalah nama dari tabel database yang berisi informasi konfigurasi pengguna.

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

"Email" adalah nama kolom nama pengguna.

Akhirnya, parameter yang benar adalah nilai Boolean yang menunjukkan jika konfigurasi tabel pengguna dan tabel Anggota tidak ada, maka secara otomatis akan membuat tabel. Jika Anda tidak ingin otomatis membuat tabel, Anda harus mengatur parameter ke false.

lampu Meskipun benar untuk secara otomatis membuat tabel database, tapi database tidak akan otomatis dibuat. Jadi database harus ada.


Database WebSecurity

meja UserProfile diciptakan untuk setiap pengguna untuk menyimpan catatan, user ID (kunci utama) dan nama pengguna (email):

UserId Email
1 [email protected]
2 [email protected]
3 [email protected]

Tabel Keanggotaan berisi informasi keanggotaan, seperti ketika pengguna dibuat, jika anggota telah disertifikasi sertifikasi anggota apa waktu, dan sebagainya.

Seperti gambar di bawah (beberapa kolom tidak ditampilkan):

User
Id
Create
Date
Confirmation
Token
Is
Confirmed
Last
Password
Failure
Password Password
Change
1 12.04.2012 16:12:17 NULL True NULL AFNQhWfy.... 12.04.2012 16:12:17

Catatan: Jika Anda ingin melihat semua kolom dan konten, membuka database, melihat setiap meja di dalam.


anggota konfigurasi yang sederhana

Bila Anda menggunakan benda-benda WebSecurity, jika situs Anda tidak dikonfigurasi untuk menggunakan ASP.NET Web Pages Anggota sistem SimpleMembership, Anda mungkin akan diberi.

Jika Anda mengkonfigurasi server penyedia hosting dan konfigurasi server lokal Anda berbeda, mungkin juga diberikan. Untuk mengatasi masalah ini, tambahkan elemen berikut dalam file Web.config di website:

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