يتم ضمان الأمان والمصادقة لتطبيقات ASP.NET WebPages من خلال كائن WebSecurity. يقدم لك هذا القسم الخصائص والأساليب والاستخدامات ذات الصلة لكائن WebSecurity.
يوفر كائن WebSecurity الأمان والمصادقة لتطبيقات صفحات الويب ASP.NET.
من خلال كائن WebSecurity، يمكنك إنشاء حسابات مستخدمين، وتسجيل الدخول والخروج للمستخدمين، وإعادة تعيين كلمات المرور أو تغييرها، والعديد من الوظائف الأخرى المتعلقة بالأمان.
ملكية | يصف |
---|---|
معرف المستخدم الحالي | احصل على معرف المستخدم الذي قام بتسجيل الدخول حاليًا. |
اسم المستخدم الحالي | احصل على اسم المستخدم الذي قام بتسجيل الدخول حاليًا. |
معرف المستخدم | يُرجع صحيحًا إذا كان هناك معرف مستخدم حاليًا. |
تمت المصادقة عليه | يُرجع صحيحًا إذا قام المستخدم الحالي بتسجيل الدخول. |
طريقة | يصف |
---|---|
تغيير كلمة المرور() | تغيير كلمة المرور للمستخدم المحدد. |
تأكيد الحساب () | قم بتأكيد الحساب باستخدام رمز تأكيد الحساب. |
إنشاء حساب() | إنشاء حساب مستخدم جديد. |
إنشاء مستخدم وحساب () | إنشاء حساب مستخدم جديد. |
إنشاء كلمة المرورResetToken() | يُنشئ رمزًا مميزًا لإعادة تعيين كلمة المرور والذي يمكن إرساله إلى المستخدم في رسالة بريد إلكتروني حتى يتمكن المستخدم من إعادة تعيين كلمة المرور الخاصة به. |
تاريخ الإنشاء () | احصل على وقت إنشاء العضو المحدد. |
GetPasswordChangeDate() | احصل على تاريخ ووقت تغيير كلمة المرور. |
معرف المستخدم () | الحصول على معرف المستخدم بناءً على اسم المستخدم. |
تهيئة قاعدة البيانات () | تهيئة نظام WebSecurity (قاعدة البيانات). |
تم التأكيد() | تحقق مما إذا تم تأكيد المستخدم. يعود صحيحا إذا تم تأكيده. (يمكن أن يتم التأكيد عبر البريد الإلكتروني، على سبيل المثال.) |
المستخدم الحالي () | للتحقق مما إذا كان اسم المستخدم الحالي يطابق اسم المستخدم المحدد. إذا كان هناك تطابق، يعود صحيحا. |
تسجيل الدخول() | قم بتعيين رمز المصادقة وتسجيل دخول المستخدم. |
تسجيل الخروج() | إزالة رمز المصادقة وتسجيل خروج المستخدم. |
RequireAuthenticatedUser() | إذا لم تتم مصادقة المستخدم، قم بتعيين حالة HTTP إلى 401 (غير مصرح به). |
يتطلب الأدوار () | إذا لم يكن المستخدم الحالي عضوًا في الدور المحدد، فقم بتعيين حالة HTTP إلى 401 (غير مصرح به). |
مطلوب المستخدم () | إذا لم يكن المستخدم الحالي هو المستخدم الذي يحمل اسم المستخدم المحدد، فاضبط حالة HTTP على 401 (غير مصرح به). |
إعادة تعيين كلمة المرور () | إذا كان رمز إعادة تعيين كلمة المرور صالحًا، قم بتغيير كلمة مرور المستخدم إلى كلمة المرور الجديدة. |
المستخدم موجود () | التحقق من وجود المستخدم المحدد. |
اسم | قيمة |
---|---|
فصل | WebMatrix.WebData.WebSecurity |
مساحة الاسم | WebMatrix.WebData |
حَشد | WebMatrix.WebData.dll |
إذا كنت تريد استخدام كائنات WebSecurity في التعليمات البرمجية الخاصة بك، فيجب عليك أولاً إنشاء قاعدة بيانات WebSecurity أو تهيئتها.
في دليل جذر الويب الخاص بك، قم بإنشاء صفحة تسمى _AppStart.cshtml (أو قم بتحرير الصفحة مباشرة إذا كانت موجودة بالفعل).
انسخ الكود التالي في الملف:
@{ WebSecurity.InitializeDatabaseConnection("Users"، "UserProfile"، "UserId"، "Email"، true });
سيتم تشغيل الكود أعلاه في كل مرة يبدأ فيها موقع الويب (التطبيق). يقوم بتهيئة قاعدة بيانات WebSecurity.
"المستخدمون" هو اسم قاعدة بيانات WebSecurity (Users.sdf).
"UserProfile" هو اسم جدول قاعدة البيانات الذي يحتوي على معلومات ملف تعريف المستخدم.
"معرف المستخدم" هو اسم العمود الذي يحتوي على معرف المستخدم (المفتاح الأساسي).
"البريد الإلكتروني" هو اسم العمود الذي يحتوي على اسم المستخدم.
المعلمة الأخيرة true هي قيمة منطقية، تشير إلى أنه في حالة عدم وجود جدول تكوين المستخدم وجدول العضوية، سيتم إنشاء الجداول تلقائيًا. إذا كنت لا تريد إنشاء الجدول تلقائيًا، فيجب عليك تعيين المعلمة على false .
![]() | على الرغم من أن القيمة true تعني أنه سيتم إنشاء جدول قاعدة البيانات تلقائيًا، إلا أنه لن يتم إنشاء قاعدة البيانات تلقائيًا. لذلك يجب أن تكون قاعدة البيانات موجودة. |
---|
يقوم جدول UserProfile بإنشاء وحفظ سجل لكل مستخدم ومعرف المستخدم (المفتاح الأساسي) واسم المستخدم (البريد الإلكتروني):
معرف المستخدم | بريد إلكتروني |
---|---|
1 | جون@جونسون.نت |
2 | بيتر@بيترسون.كوم |
3 | لارس@لارسون.eut |
يحتوي جدول العضوية على معلومات العضوية، مثل وقت إنشاء المستخدم، وما إذا كان العضو قد تمت مصادقته، ومتى تمت مصادقته، وما إلى ذلك.
التفاصيل هي كما يلي (لا يتم عرض بعض الأعمدة):
معرف المستخدم | تاريخ الإنشاء | رمز التأكيد | تم التأكيد | فشل كلمة المرور الأخيرة | كلمة المرور | تغيير كلمة المرور |
---|---|---|---|---|---|---|
1 | 12.04.2012 16:12:17 | باطل | حقيقي | باطل | AFNQhWfy.... | 12.04.2012 16:12:17 |
ملاحظة: إذا كنت تريد رؤية كافة الأعمدة والمحتويات، فافتح قاعدة البيانات وانظر إلى كل جدول بداخلها.
عند استخدام كائن WebSecurity، إذا لم يتم تكوين موقعك لاستخدام نظام عضوية صفحات الويب ASP.NET SimpleMembership ، فقد يتم الإبلاغ عن خطأ.
قد تحدث أخطاء أيضًا إذا تم تكوين خادم موفر الاستضافة بشكل مختلف عن خادمك المحلي. لحل هذه المشكلة، أضف العنصر التالي إلى ملف Web.config الخاص بموقعك على الويب:
<appSettings> <add key="enableSimpleMembership" value="true" /> </appSettings>
ما ورد أعلاه هو مقدمة لكائن WebSecurity.