Latest web development tutorials

دليل 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);
}

سيتم تشغيل التعليمات البرمجية أعلاه في كل موقع (التطبيق) يبدأ. ومن تهيئة قاعدة البيانات WebSecurity.

"المستخدمون" هي قاعدة بيانات WebSecurity (Users.sdf) اسم.

"التشكيل الجانبي للمستخدم" هو اسم جدول قاعدة البيانات التي تحتوي على معلومات تكوين المستخدم.

"معرف المستخدم" الذي يحتوي على هوية المستخدم (المفتاح الأساسي) اسم العمود.

"البريد الإلكتروني" هو اسم عمود اسم المستخدم.

وأخيرا، معلمة الحقيقية هي قيمة منطقية التي تشير إلى إذا كانت الجداول تكوين المستخدم والجداول الأعضاء لا وجود له، فإنه سيتم تلقائيا إنشاء جدول. إذا كنت لا تريد إنشاء جدول تلقائيا، يجب تعيين المعلمة إلى false.

مصباح على الرغم من أن وفيا لإنشاء تلقائيا جداول قاعدة البيانات، ولكن لن يتم إنشاء قاعدة البيانات تلقائيا. لذلك يجب أن يكون موجودا في قاعدة البيانات.


قاعدة بيانات WebSecurity

الجدول التشكيل الجانبي للمستخدم خلق لكل مستخدم لحفظ سجل، على هوية المستخدم (المفتاح الأساسي) واسم المستخدم (البريد الإلكتروني):

UserId Email
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 في الموقع:

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