ASP.NET Web Pages - วัตถุ WebSecurity
- หน้าก่อนหน้า WebPages 类
- หน้าต่อไป WebPages 数据库
รายละเอียด
วัตถุ WebSecurity ให้การสำหรับ ASP.NET Web Pages โปรแกรมและการรับรองความปลอดภัย
ด้วยวัตถุ WebSecurity คุณสามารถสร้างบัญชีผู้ใช้ ล็อกอิน ล็อกออก รีเซ็ทหรือเปลี่ยนรหัสผ่าน และอื่นๆ
เอกสารอ้างอิงวัตถุ WebSecurity - คุณสมบัติ
คุณสมบัติ | รายละเอียด |
---|---|
CurrentUserId | กลับค่า ID ผู้ใช้ปัจจุบัน |
CurrentUserName | กลับค่าชื่อผู้ใช้ปัจจุบัน |
HasUserId | กลับค่าที่บอกว่าผู้ใช้ปัจจุบันมี ID หรือไม่ ถ้ามี กลับค่า true |
IsAuthenticated | เข้าสู่ระบบสถานะปัจจุบันของผู้ใช้ |
เอกสารอ้างอิงวัตถุ WebSecurity - วิธี
คุณสมบัติ | รายละเอียด |
---|---|
ChangePassword() | เปลี่ยนรหัสผ่านของผู้ใช้ |
ConfirmAccount() | ยืนยันว่าบัญชีมีผลใช้งานและจัดการให้บัญชีเปิดใช้งาน |
CreateAccount() | สร้างบัญชีผู้ใช้ใหม่ |
CreateUserAndAccount() | สร้างบัญชีผู้ใช้ใหม่ |
GeneratePasswordResetToken() | สร้างโทเคนการเปลี่ยนรหัสผ่านที่สามารถส่งทางอีเมลไปยังผู้ใช้ |
GetCreateDate() | กลับค่าวันและเวลาที่สร้างบัญชีสมาชิกที่กำหนด |
GetPasswordChangeDate() | กลับค่าวันและเวลาที่เปลี่ยนรหัสผ่านสมาชิกที่กำหนดล่าสุด |
GetPasswordFailures SinceLastSuccess() |
กลับค่าจำนวนครั้งที่ใส่รหัสผ่านผิดตั้งแต่การเข้าสู่ระบบหรือสร้างบัญชีสมาชิกเรียบร้อย |
GetUserId() | กลับค่า ID ผู้ใช้โดยอ้างอิงชื่อผู้ใช้ที่กำหนด |
GetUserIdFrom PasswordResetToken () |
กลับค่า User ID จากตั๋วรีเซ็ทรหัสผ่าน。 |
InitializeDatabaseConnection() | ตั้งค่าระบบสมาชิกด้วยการเชื่อมต่อกับฐานข้อมูลที่มีข้อมูลผู้ใช้。 |
IsAccountLockedOut() | บอกว่าบัญชีสมาชิกที่ระบุนี้ถูกล็อกออกเนื่องจากความพยายามรหัสผ่านที่ผิดมากเกินไป。 |
IsConfirmed() | กลับค่าที่บอกว่าผู้ใช้ได้รับการยืนยันหรือไม่。 |
IsCurrentUser() | กลับค่าที่บอกว่าชื่อผู้ใช้ที่ลงชื่อเข้าระบบในตอนนี้เป็นชื่อผู้ใช้ที่ระบุหรือไม่。 |
Login() | ลงชื่อผู้ใช้เข้าระบบ。 |
Logout() | ลบการลงชื่อออกของผู้ใช้。 |
RequireAuthenticatedUser() | ถ้าผู้ใช้ไม่ได้รับการรับรอง โปรดตั้งค่าสถานะ HTTP ให้เป็น 401 (Unauthorized)。 |
RequireRoles() | ถ้าผู้ใช้ปัจจุบันไม่เป็นสมาชิกของบทบาทที่ระบุ โปรดตั้งค่ารหัสสถานะ HTTP ให้เป็น 401。 |
RequireUser() | ถ้าผู้ใช้ปัจจุบันไม่ใช่ผู้ใช้ที่ระบุ โปรดตั้งค่าสถานะ HTTP ให้เป็น 401。 |
ResetPassword() | ปรับแต่งรหัสผ่านด้วยการใช้ตั๋วรีเซ็ทรหัสผ่าน。 |
UserExists() | ตรวจสอบว่าผู้ใช้คงอยู่หรือไม่。 |
Technical Data
Name | Value |
---|---|
Class | WebMatrix.WebData.WebSecurity |
Namespace | WebMatrix.WebData |
Assembly | WebMatrix.WebData.dll |
ตั้งค่าฐานข้อมูล WebSecurity
ก่อนที่จะใช้โอปเจ็กต์ WebSecurity ต้องสร้างหรือตั้งค่าฐานข้อมูล WebSecurity。
สร้างหรือแก้ไขหน้า _AppStart.cshtml ในไดเรกทอรี web มาตรฐาน。
เขียนรหัสดังนี้ลงในไฟล์ _AppStart.cshtml
_AppStart.cshtml
@{ WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId", "Email", true); }
เว็บไซต์จะปฏิบัติการรหัสที่ระบุดังกล่าวในแต่ละครั้งที่เว็บไซต์เริ่มทำงาน。มันจะตั้งค่าฐานข้อมูล WebSecurity。
"Users" คือชื่อฐานข้อมูล WebSecurity (Users.sdf)
"UserProfile" คือชื่อของตารางฐานข้อมูลที่มีข้อมูลการตั้งค่าผู้ใช้。
"UserId" คือชื่อคอลัมน์ที่มี ID ผู้ใช้ (หลักฐาน)
"Email" คือชื่อคอลัมน์ที่มีชื่อผู้ใช้
ตัวเลขที่สุดท้าย true คือค่าทางทฤษฎีที่ชี้ว่าควรสร้างตารางข้อมูลโปรไฟล์ผู้ใช้และตารางสมาชิก (ถ้ามันไม่มีอยู่) หรือไม่ false
คำแนะนำ: ถึงแม้ว่า true จะชี้ว่าจะทำการสร้างตารางฐานข้อมูลอัตโนมัติ แต่ฐานข้อมูลตัวจริงไม่ได้ถูกสร้างอัตโนมัติ มันต้องมีอยู่
ฐานข้อมูล WebSecurity
บทบาทในตาราง UserProfile แสดงถึงผู้ใช้แต่ละคน ซึ่งรวมถึง ID ผู้ใช้ (หลักฐาน) และชื่อผู้ใช้ (อีเมล):
UserId | อีเมล |
---|---|
1 | john@johnson.net |
2 | peter@peterson.com |
3 | lars@larson.eut |
ตาราง Membership มีข้อมูลสมาชิกเพื่อตัวอย่าง อย่างเช่น ว่าใครที่สร้างผู้ใช้และเมื่อสมาชิกถูกยืนยัน (และเมื่อ)
เช่นนี้ (บทบาทบางอย่างไม่ได้ระบุ):
UserId | วันที่สร้าง | ยืนยัน ตะโกน |
หรือไม่ ยืนยัน |
สุดท้าย รหัสผ่านผิด |
รหัสผ่าน | เปลี่ยนรหัสผ่าน |
---|---|---|---|---|---|---|
1 | 12.04.2012 16:12:17 | NULL | True | NULL | AFNQhWfy.... | 12.04.2012 16:12:17 |
หมายเหตุ:ถ้าคุณต้องการเห็นบทบาททั้งหมดและเนื้อหาทั้งหมด โปรดเปิดฐานข้อมูลด้วย WebMatrix และตรวจสอบบทบาททุกตาราง
การตั้งค่าสมาชิกงานที่เรียบง่าย
ถ้าเว็บไซต์ของคุณยังไม่ถูกตั้งค่าเพื่อใช้ระบบสมาชิกที่เรียกว่า SimpleMembership ของ ASP.NET Web Pages อาจจะเกิดข้อผิดพลาดเมื่อใช้ WebSecurity ออบเจก
ถ้าการตั้งค่าของผู้ให้บริการเซิร์ฟเวอร์ต่างจากเซิร์ฟเวอร์ท้องถิ่นของคุณ จะเกิดข้อผิดพลาด ในการแก้ปัญหานี้ โปรดเพิ่มองค์ประกอบต่อไปนี้ในไฟล์ Web.config ของเว็บไซต์ของคุณ:
<appSettings> <add key="enableSimpleMembership" value="true" /> </appSettings>
- หน้าก่อนหน้า WebPages 类
- หน้าต่อไป WebPages 数据库