คู่มือการใช้งานเว็บ ASP.NET หน้า WebSecurity อ้างอิง
ลักษณะ
หน้าเว็บ WebSecurity ASP.NET วัตถุให้โปรแกรมรักษาความปลอดภัยและการตรวจสอบ
โดยวัตถุ WebSecurity คุณสามารถสร้างบัญชีผู้ใช้เข้าสู่ระบบของผู้ใช้และออกจากระบบการตั้งค่าหรือเปลี่ยนรหัสผ่านของคุณและอื่น ๆ ฟังก์ชั่นที่เกี่ยวข้องกับการรักษาความปลอดภัย
WebSecurity อ้างอิงวัตถุ - อสังหาริมทรัพย์
属性 | 描述 |
---|---|
CurrentUserId | 获取当前登录用户的 ID。 |
CurrentUserName | 获取当前登录用户的名称。 |
HasUserId | 如果当前有用户 ID,则返回 true。 |
IsAuthenticated | 如果当前用户是登录的,则返回 true。 |
WebSecurity อ้างอิงวัตถุ - วิธี
方法 | 描述 |
---|---|
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() | 检查指定的用户是否存在。 |
ข้อมูลทางเทคนิค
名称 | 值 |
---|---|
Class | WebMatrix.WebData.WebSecurity |
Namespace | WebMatrix.WebData |
Assembly | WebMatrix.WebData.dll |
WebSecurity เริ่มต้นฐานข้อมูล
หากคุณต้องการใช้วัตถุ WebSecurity ในรหัสของคุณคุณต้องสร้างหรือเริ่มต้นฐานข้อมูล WebSecurity
ในไดเรกทอรีรากเว็บของคุณสร้างไฟล์ที่เรียกว่าหน้า _AppStart.cshtml (ถ้ามีอยู่แล้วคุณโดยตรงจะแก้ไขหน้า)
คัดลอกโค้ดต่อไปยังแฟ้ม:
_AppStart.cshtml
WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId", "Email", true);
}
รหัสดังกล่าวจะทำงานในแต่ละเว็บไซต์ (Application) เริ่มต้น มันเริ่มต้นฐานข้อมูล WebSecurity
"ผู้ใช้" มีฐานข้อมูล WebSecurity (Users.sdf) ชื่อ
"UserProfile" เป็นชื่อของตารางฐานข้อมูลที่มีข้อมูลการตั้งค่าของผู้ใช้
"หมายเลขผู้ใช้" ที่มีรหัสผู้ใช้ (คีย์หลัก) ชื่อของคอลัมน์
"อีเมล" เป็นชื่อของคอลัมน์ชื่อผู้ใช้
สุดท้ายพารามิเตอร์ที่แท้จริงคือค่าบูลีนที่ระบุว่าตารางการตั้งค่าของผู้ใช้และตารางสมาชิกไม่อยู่ก็จะสร้างตาราง หากคุณไม่ต้องการที่จะสร้างตารางโดยอัตโนมัติคุณควรตั้งค่าพารามิเตอร์เป็นเท็จ
แม้ว่าความจริงโดยอัตโนมัติสร้างตารางฐานข้อมูล แต่ฐานข้อมูลจะไม่ถูกสร้างขึ้นโดยอัตโนมัติ ดังนั้นฐานข้อมูลจะต้องมีอยู่ |
ฐานข้อมูล WebSecurity
ตาราง UserProfile สร้างขึ้นสำหรับผู้ใช้แต่ละคนจะบันทึกบันทึกรหัสผู้ใช้ (คีย์หลัก) และชื่อผู้ใช้ (อีเมล):
UserId | |
---|---|
1 | [email protected] |
2 | [email protected] |
3 | [email protected] |
ตารางสมาชิกมีข้อมูลการเป็นสมาชิกเช่นเมื่อผู้ใช้จะถูกสร้างขึ้นในกรณีที่สมาชิกได้รับการรับรองการรับรองสมาชิกสิ่งที่เวลาและอื่น ๆ
ดังต่อไปนี้ (บางคอลัมน์ที่จะไม่แสดง):
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 |
หมายเหตุ: หากคุณต้องการที่จะเห็นคอลัมน์ทั้งหมดและเนื้อหาที่เปิดฐานข้อมูลให้ดูที่แต่ละตารางภายใน
สมาชิกตั้งค่าง่าย
เมื่อคุณใช้วัตถุ WebSecurity ถ้าเว็บไซต์ของคุณไม่ได้กำหนดค่าใช้หน้าเว็บ ASP.NET สมาชิกระบบ SimpleMembership คุณอาจจะได้รับ
ถ้าคุณกำหนดค่าให้บริการโฮสติ้งเซิร์ฟเวอร์และการกำหนดค่าเซิร์ฟเวอร์ในท้องถิ่นของคุณจะแตกต่างก็อาจจะได้รับ เพื่อแก้ปัญหานี้เพิ่มองค์ประกอบต่อไปนี้ในแฟ้ม Web.config ในเว็บไซต์:
<add key="enableSimpleMembership" value="true" />
</appSettings>