ลักษณะ
วัตถุ WebSecurity ให้การรักษาความปลอดภัยและการตรวจสอบสำหรับการใช้งานหน้าเว็บ ASP.NET
ด้วยวัตถุ WebSecurity ที่คุณสามารถสร้างบัญชีผู้ใช้ออกจากระบบเข้าสู่ระบบและผู้ใช้ตั้งค่าหรือเปลี่ยนรหัสผ่านและอื่น ๆ
WebSecurity วัตถุอ้างอิง - อสังหาริมทรัพย์
คุณสมบัติ | ลักษณะ |
---|---|
CurrentUserId | ได้รับรหัสสำหรับผู้ใช้ปัจจุบัน |
CurrentUserName | ได้รับชื่อของผู้ใช้ในปัจจุบัน |
HasUserId | ผลตอบแทนจริงถ้าปัจจุบันมีรหัสผู้ใช้ |
IsAuthenticated | ผลตอบแทนจริงถ้าผู้ใช้ปัจจุบันถูกบันทึกลงใน |
WebSecurity วัตถุอ้างอิง - วิธีการ
วิธี | ลักษณะ |
---|---|
ChangePassword() | เปลี่ยนรหัสผ่านสำหรับผู้ใช้ |
ConfirmAccount() | ยืนยันบัญชีใช้โทเค็นการยืนยันหนึ่ง |
CreateAccount() | สร้างบัญชีผู้ใช้ใหม่ |
CreateUserAndAccount() | สร้างบัญชีผู้ใช้ใหม่ |
GeneratePasswordResetToken() | สร้างโทเค็นที่สามารถส่งไปเป็นผู้ใช้ทางอีเมล |
GetCreateDate() | ได้รับเวลาการเป็นสมาชิกที่ระบุถูกสร้างขึ้น |
GetPasswordChangeDate() | ได้รับวันที่และเวลาที่ถูกเปลี่ยนรหัสผ่าน |
GetUserId() | จะได้หมายเลขของผู้ใช้จากชื่อผู้ใช้ |
InitializeDatabaseConnection() | เริ่มต้นระบบ WebSecurity (database) |
IsConfirmed() | ตรวจสอบว่าผู้ใช้จะได้รับการยืนยัน |
IsCurrentUser() | ตรวจสอบว่าผู้ใช้ปัจจุบันตรงกับชื่อผู้ใช้ |
Login() | บันทึกของผู้ใช้ในโดยการตั้งค่าโทเค็นในคุกกี้ |
Logout() | บันทึกของผู้ใช้ออกโดยการลบคุกกี้โทเค็น |
RequireAuthenticatedUser() | ออกจากหน้าหากผู้ใช้ไม่ได้เป็นผู้ใช้รับรองความถูกต้อง |
RequireRoles() | ออกจากหน้าหากผู้ใช้ไม่ได้เป็นส่วนหนึ่งของบทบาทที่ระบุ |
RequireUser() | ออกจากหน้าหากผู้ใช้ไม่ได้เป็นผู้ใช้ที่ระบุ |
ResetPassword() | เปลี่ยนรหัสผ่านของผู้ใช้โดยใช้สัญลักษณ์ |
UserExists() | ตรวจสอบว่าผู้ใช้ที่ได้รับอยู่ |
ข้อมูลทางเทคนิค
ชื่อ | ความคุ้มค่า |
---|---|
ชั้น | WebMatrix.WebData.WebSecurity |
namespace | WebMatrix.WebData |
การชุมนุม | WebMatrix.WebData.dll |
เริ่มต้นฐานข้อมูล WebSecurity
คุณต้องสร้างหรือเริ่มต้นฐานข้อมูล WebSecurity ก่อนที่คุณจะสามารถใช้วัตถุ WebSecurity ในรหัสของคุณ
ในรากของเว็บของคุณสร้างหน้า (or edit the page ) ชื่อ _AppStart.cshtml
ใส่รหัสต่อไปนี้ภายในไฟล์:
_AppStart.cshtml
@{
WebSecurity.InitializeDatabaseConnection("Users", "UserProfile",
"UserId", "Email", true);
}
โค้ดข้างต้นจะทำงานในแต่ละครั้งที่เว็บไซต์ (application) เริ่มต้น มันเริ่มต้นฐานข้อมูล WebSecurity
"ผู้ใช้" เป็นชื่อของฐานข้อมูลที่ WebSecurity (Users.sdf)
"UserProfile" เป็นชื่อของตารางฐานข้อมูลที่มีข้อมูลรายละเอียดผู้ใช้
"หมายเลขผู้ใช้" เป็นชื่อของคอลัมน์ที่มีรหัสผู้ใช้ (primary key)
"อีเมล" เป็นชื่อของคอลัมน์ที่มีชื่อผู้ใช้
พารามิเตอร์สุดท้ายที่แท้จริงคือค่าบูลีนแสดงให้เห็นว่ารายละเอียดของผู้ใช้และสมาชิกตารางควรได้รับการสร้างขึ้นโดยอัตโนมัติหากพวกเขาไม่ได้อยู่ที่เป็นเท็จอย่างอื่น
แม้ว่าความจริงแสดงให้เห็นการสร้างโดยอัตโนมัติของตารางฐานข้อมูลฐานข้อมูลของตัวเองจะไม่ถูกสร้างขึ้นโดยอัตโนมัติ มันต้องมีอยู่
ฐานข้อมูล WebSecurity
ตาราง UserProfile มีหนึ่งระเบียนสำหรับผู้ใช้แต่ละคนมีรหัสผู้ใช้ (primary key) และชื่อของผู้ใช้ (email) :
หมายเลขผู้ใช้ | อีเมล์ |
---|---|
1 | [email protected] |
2 | [email protected] |
3 | [email protected] |
ตารางสมาชิกจะมีข้อมูลเกี่ยวกับการเป็นสมาชิกเมื่อผู้ใช้ที่ถูกสร้างขึ้นและถ้า (and when) สมาชิกได้รับการยืนยัน
มากเช่นนี้ (some columns are not shown) :
ผู้ใช้งาน Id | สร้าง วันที่ | การยืนยัน เหรียญ | คือ ได้รับการยืนยัน | สุดท้าย รหัสผ่าน ความล้มเหลว | รหัสผ่าน | รหัสผ่าน เปลี่ยนแปลง |
---|---|---|---|---|---|---|
1 | 12.04.2012 16:12:17 | โมฆะ | จริง | โมฆะ | AFNQhWfy .... | 12.04.2012 16:12:17 |
หมายเหตุ: หากคุณต้องการที่จะเห็นคอลัมน์ทั้งหมดและเนื้อหาทั้งหมดเปิดฐานข้อมูลที่มี WebMatrix และดูภายในแต่ละตาราง
การกำหนดค่าสมาชิกที่เรียบง่าย
คุณอาจได้รับข้อผิดพลาดของการใช้วัตถุ WebSecurity ถ้าเว็บไซต์ของคุณไม่ได้กำหนดค่าการใช้หน้าเว็บ ASP.NET ระบบสมาชิก SimpleMembership
นี้สามารถเกิดขึ้นได้ถ้าเซิร์ฟเวอร์ผู้ให้บริการโฮสติ้งของการกำหนดค่าที่แตกต่างกว่าเซิร์ฟเวอร์ในประเทศของคุณ เพื่อแก้ไขปัญหานี้เพิ่มองค์ประกอบต่อไปนี้เพื่อแฟ้ม Web.config ของเว็บไซต์:
<appSettings>
<add key="enableSimpleMembership" value="true" />
</appSettings>