Tutorial ASP.NE...login
Tutorial ASP.NET
pengarang:php.cn  masa kemas kini:2022-04-11 14:18:18

Keselamatan Halaman Web


ASP.NET Web Pages - WebSecurity Object


Penerangan

WebSecurity Object disediakan oleh ASP . Aplikasi Halaman Web BERSIH.

Dengan objek WebSecurity, anda boleh membuat akaun pengguna, log masuk dan keluar daripada pengguna, menetapkan semula atau menukar kata laluan dan banyak lagi fungsi berkaitan keselamatan.


Manual Rujukan Objek WebSecurity - Properties

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

Manual Rujukan Objek WebSecurity - Kaedah

方法描述
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 Teknikal

名称
ClassWebMatrix.WebData.WebSecurity
NamespaceWebMatrix.WebData
AssemblyWebMatrix.WebData.dll


Memulakan pangkalan data WebSecurity

Jika anda ingin menggunakan objek WebSecurity dalam kod anda, mula-mula anda mesti mencipta atau memulakan pangkalan data WebSecurity.

Dalam direktori akar web anda, buat halaman yang dipanggil _AppStart.cshtml (atau edit halaman terus jika ia sudah wujud).

Salin kod berikut ke dalam fail:

_AppStart.cshtml

@{
WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "Id Pengguna", "E-mel", benar);
}

Kod di atas akan dijalankan setiap kali tapak web (aplikasi) bermula. Ia memulakan pangkalan data WebSecurity.

"Pengguna" ialah nama pangkalan data WebSecurity (Users.sdf).

"UserProfile" ialah nama jadual pangkalan data yang mengandungi maklumat profil pengguna.

"UserId" ialah nama lajur yang mengandungi ID pengguna (kunci utama).

"E-mel" ialah nama lajur yang mengandungi nama pengguna.

Parameter terakhir true ialah nilai Boolean, menunjukkan bahawa jika jadual konfigurasi pengguna dan jadual keahlian tidak wujud, jadual akan dibuat secara automatik. Jika anda tidak mahu mencipta jadual secara automatik, anda harus menetapkan parameter kepada false.

lamp.gifWalaupun
lamp.gif虽然 true 表示自动创建数据库 ,但是数据库不会被自动创建。所以数据库必须存在。
benar
🎜> bermaksud mencipta pangkalan data
jadual

secara automatik, tetapi pangkalan data tidak akan dibuat secara automatik. Jadi pangkalan data mesti wujud.

Pangkalan data WebSecurity

UserIdEmail
1john@johnson.net
2peter@peterson.com
3lars@larson.eut
UserProfile

jadual mencipta dan menyimpan rekod untuk setiap pengguna. ID Pengguna (kunci utama) dan nama pengguna (e-mel):

Keahlian

Jadual mengandungi maklumat ahli, seperti apabila pengguna dicipta, sama ada ahli telah disahkan, dan apakah ahli itu Apabila diperakui, dsb.
User
Id
Create
Date
Confirmation
Token
Is
Confirmed
Last
Password
Failure
PasswordPassword
Change
112.04.2012 16:12:17NULLTrueNULLAFNQhWfy....12.04.2012 16:12:17
<🎜>Butiran adalah seperti berikut (sesetengah lajur tidak dipaparkan): <🎜>
User<🎜>Id Buat<🎜>TarikhPengesahan<🎜>TokenTelah<🎜>DisahkanTerakhir<🎜>Kata Laluan<🎜 >Kegagalan Kata LaluanKata Laluan<🎜>Tukar
112.04.2012 16:12 :17 NULLBenarNULLAFNQhWfy....12.04.2012 16: 12: 17

Nota: Jika anda ingin melihat semua lajur dan kandungan, sila buka pangkalan data dan lihat setiap jadual di dalamnya.


Konfigurasi keahlian mudah

Apabila anda menggunakan objek WebSecurity, jika tapak anda tidak dikonfigurasikan untuk menggunakan sistem keahlian Halaman Web ASP.NET SimpleMembership, ia boleh Laporkan ralat.

Ralat juga mungkin berlaku jika pelayan penyedia pengehosan dikonfigurasikan secara berbeza daripada pelayan tempatan anda. Untuk menyelesaikan isu ini, tambahkan elemen berikut pada fail Web.config tapak web anda:

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