รับประกันความปลอดภัยและการรับรองความถูกต้องของแอปพลิเคชัน ASP.NET WebPages ผ่านออบเจ็กต์ WebSecurity ส่วนนี้จะแนะนำคุณเกี่ยวกับคุณสมบัติ วิธีการ และการใช้งานที่เกี่ยวข้องของออบเจ็กต์ WebSecurity
วัตถุ WebSecurity ให้ความปลอดภัยและการรับรองความถูกต้องสำหรับแอปพลิเคชัน ASP.NET Web Pages
คุณสามารถสร้างบัญชีผู้ใช้ เข้าสู่ระบบและออกผู้ใช้ รีเซ็ตหรือเปลี่ยนรหัสผ่าน และฟังก์ชันที่เกี่ยวข้องกับความปลอดภัยอื่นๆ อีกมากมายผ่านออบเจ็กต์ WebSecurity
คุณสมบัติ | อธิบาย |
---|---|
รหัสผู้ใช้ปัจจุบัน | รับ ID ของผู้ใช้ที่เข้าสู่ระบบในปัจจุบัน |
ชื่อผู้ใช้ปัจจุบัน | รับชื่อของผู้ใช้ที่เข้าสู่ระบบในปัจจุบัน |
HasUserId | คืนค่าเป็นจริงหากมี ID ผู้ใช้อยู่ในปัจจุบัน |
มีการรับรองความถูกต้อง | คืนค่าเป็นจริงหากผู้ใช้ปัจจุบันเข้าสู่ระบบ |
วิธี | อธิบาย |
---|---|
เปลี่ยนรหัสผ่าน() | เปลี่ยนรหัสผ่านสำหรับผู้ใช้ที่ระบุ |
ยืนยันบัญชี() | ยืนยันบัญชีโดยใช้โทเค็นยืนยันบัญชี |
สร้างบัญชี() | สร้างบัญชีผู้ใช้ใหม่ |
สร้าง UserAndAccount() | สร้างบัญชีผู้ใช้ใหม่ |
สร้างรหัสผ่านResetToken() | สร้างโทเค็นรีเซ็ตรหัสผ่านที่สามารถส่งถึงผู้ใช้ทางอีเมล เพื่อให้ผู้ใช้สามารถรีเซ็ตรหัสผ่านได้ |
GetCreateDate() | รับเวลาการสร้างของสมาชิกที่ระบุ |
รับรหัสผ่านเปลี่ยนวันที่() | รับวันที่และเวลาที่เปลี่ยนรหัสผ่าน |
รับรหัสผู้ใช้() | รับ ID ผู้ใช้ตามชื่อผู้ใช้ |
เตรียมใช้งานการเชื่อมต่อฐานข้อมูล() | เตรียมใช้งานระบบ WebSecurity (ฐานข้อมูล) |
ได้รับการยืนยันแล้ว() | ตรวจสอบว่าผู้ใช้ได้รับการยืนยันแล้วหรือไม่ คืนค่าเป็นจริงหากได้รับการยืนยัน (การยืนยันสามารถทำได้ทางอีเมล เป็นต้น) |
IsCurrentUser() | ตรวจสอบว่าชื่อผู้ใช้ปัจจุบันตรงกับชื่อผู้ใช้ที่ระบุหรือไม่ หากมีการแข่งขันให้คืนค่าจริง |
เข้าสู่ระบบ() | ตั้งค่าโทเค็นการรับรองความถูกต้องและเข้าสู่ระบบผู้ใช้ |
ออกจากระบบ() | ลบโทเค็นการรับรองความถูกต้องและออกจากระบบผู้ใช้ |
ต้องการผู้ใช้ที่รับรองความถูกต้อง () | หากผู้ใช้ไม่ได้รับการรับรองความถูกต้อง ให้ตั้งค่าสถานะ HTTP เป็น 401 (ไม่ได้รับอนุญาต) |
ต้องการบทบาท() | หากผู้ใช้ปัจจุบันไม่ใช่สมาชิกของบทบาทที่ระบุ ให้ตั้งค่าสถานะ HTTP เป็น 401 (ไม่ได้รับอนุญาต) |
ต้องการผู้ใช้() | หากผู้ใช้ปัจจุบันไม่ใช่ผู้ใช้ตามชื่อผู้ใช้ที่ระบุ ให้ตั้งค่าสถานะ HTTP เป็น 401 (ไม่ได้รับอนุญาต) |
รีเซ็ตรหัสผ่าน() | หากโทเค็นรีเซ็ตรหัสผ่านถูกต้อง ให้เปลี่ยนรหัสผ่านของผู้ใช้เป็นรหัสผ่านใหม่ |
มีผู้ใช้อยู่() | ตรวจสอบว่ามีผู้ใช้ที่ระบุอยู่หรือไม่ |
ชื่อ | ค่า |
---|---|
ระดับ | WebMatrix.WebData.ความปลอดภัยเว็บ |
เนมสเปซ | WebMatrix.WebData |
การประกอบ | WebMatrix.WebData.dll |
หากคุณต้องการใช้ออบเจ็กต์ WebSecurity ในโค้ดของคุณ ขั้นแรกคุณต้องสร้างหรือเริ่มต้นฐานข้อมูล WebSecurity
ในไดเรกทอรีรากของเว็บของคุณ ให้สร้างเพจชื่อ _AppStart.cshtml (หรือแก้ไขเพจโดยตรงหากมีอยู่แล้ว)
คัดลอกรหัสต่อไปนี้ลงในไฟล์:
@{ WebSecurity.InitializeDatabaseConnection("ผู้ใช้", "โปรไฟล์ผู้ใช้", "รหัสผู้ใช้", "อีเมล", จริง);
โค้ดด้านบนจะทำงานทุกครั้งที่เว็บไซต์ (แอปพลิเคชัน) เริ่มทำงาน เริ่มต้นฐานข้อมูล WebSecurity
"Users" คือชื่อของฐานข้อมูล WebSecurity (Users.sdf)
"UserProfile" คือชื่อของตารางฐานข้อมูลที่มีข้อมูลโปรไฟล์ผู้ใช้
"UserId" คือชื่อของคอลัมน์ที่มีรหัสผู้ใช้ (คีย์หลัก)
"อีเมล" คือชื่อของคอลัมน์ที่มีชื่อผู้ใช้
พารามิเตอร์สุดท้าย เป็นจริง คือค่าบูลีน ซึ่งบ่งชี้ว่าหากไม่มีตารางการกำหนดค่าผู้ใช้และตารางสมาชิก ตารางจะถูกสร้างขึ้นโดยอัตโนมัติ หากคุณไม่ต้องการสร้างตารางโดยอัตโนมัติ คุณควรตั้งค่าพารามิเตอร์เป็น false
แม้ว่า จริง หมายความว่า ตาราง ฐานข้อมูลจะถูกสร้างขึ้นโดยอัตโนมัติ แต่ฐานข้อมูลจะไม่ถูกสร้างขึ้นโดยอัตโนมัติ ดังนั้นฐานข้อมูลจะต้องมีอยู่ |
ตาราง UserProfile จะสร้างและบันทึกระเบียนสำหรับผู้ใช้แต่ละราย ID ผู้ใช้ (คีย์หลัก) และชื่อผู้ใช้ (อีเมล):
รหัสผู้ใช้ | อีเมล |
---|---|
1 | [email protected] |
2 | [email protected] |
3 | [email protected] |
ตาราง สมาชิก ประกอบด้วยข้อมูลสมาชิก เช่น เมื่อสร้างผู้ใช้ สมาชิกได้รับการรับรองความถูกต้องหรือไม่ เมื่อสมาชิกได้รับการรับรองความถูกต้อง ฯลฯ
รายละเอียดมีดังนี้ (บางคอลัมน์ไม่แสดง):
รหัสผู้ใช้ | สร้างวันที่ | โทเค็นการยืนยัน | ได้รับการยืนยันแล้ว | รหัสผ่านล้มเหลวครั้งล่าสุด | รหัสผ่าน | การเปลี่ยนรหัสผ่าน |
---|---|---|---|---|---|---|
1 | 12.04.2012 16:12:17 น | โมฆะ | จริง | โมฆะ | AFNQhWfy.... | 12.04.2012 16:12:17 น |
หมายเหตุ: หากคุณต้องการดูคอลัมน์และเนื้อหาทั้งหมด ให้เปิดฐานข้อมูลและดูแต่ละตารางภายใน
เมื่อคุณใช้วัตถุ WebSecurity ถ้าเว็บไซต์ของคุณไม่ได้รับการกำหนดค่าให้ใช้ระบบสมาชิก ASP.NET เว็บเพจ SimpleMembership ข้อผิดพลาดอาจถูกรายงาน
ข้อผิดพลาดอาจเกิดขึ้นได้หากเซิร์ฟเวอร์ของผู้ให้บริการโฮสต์ได้รับการกำหนดค่าแตกต่างจากเซิร์ฟเวอร์ภายในเครื่องของคุณ เมื่อต้องการแก้ไขปัญหานี้ ให้เพิ่มองค์ประกอบต่อไปนี้ลงในไฟล์ Web.config ของเว็บไซต์ของคุณ:
<appSettings> <เพิ่มคีย์="enableSimpleMembership" value="true" /> </appSettings>
ข้างต้นเป็นการแนะนำออบเจ็กต์ WebSecurity