فهم تذكرة مصادقة النماذج وملفات تعريف الارتباط

عمود الصوت دعم ASP.NET

فهم تذكرة مصادقة النماذج وملفات تعريف الارتباط

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

مقدمة

مرحبا بكم عمود الصوت دعم Microsoft ASP.NET! أنا شاه ب حمودي مع فريق دعم المطور ASP.NET. أعمل مع دعم ASP.NET لأكثر من سنة ونصف السنة. مصادقة النماذج ميزة مصادقة رائعة. يغطي هذا المقال بعض المشاكل التي وجدت المستخدمين مربكة باستخدام مصادقة النماذج، مثل العلاقة بين تذكرة مصادقة النماذج وملف تعريف ارتباط مصادقة النماذج والإعدادات ذات الصلة. أود أن أشكر جيري الأورمان، قائد فريق دعم ASP.NET لمساعدته لا يصدق التقنية!

يتساءل الناس أحياناً حول تذاكر "مصادقة النماذج" و "ملفات تعريف الارتباط" لأنها ترتبط ارتباطاً وثيقا. لقد جئت عبر الأسئلة مثل هذه: أي شخص توضيح الفرق بين انتهاء صلاحية ملف تعريف الارتباط وانتهاء صلاحية البطاقة؟ وعند انتهاء صلاحية ملف تعريف الارتباط، سيتم إعادة توجيه المستخدم إلى صفحة تسجيل الدخول. ماذا يحدث إذا انتهت صلاحية البطاقة؟ سيؤدي أيضا إلى انتهاء صلاحية ملف تعريف الارتباط؟ ما سليدينجوبداتي تحديثها؟

سوف أركز على هذين الجانبين من "مصادقة النماذج" في هذه المقالة للإجابة على الأسئلة التالية:
  • ما هو ملف تعريف ارتباط مصادقة النماذج وتذكرة مصادقة النماذج؟ مدى صلتها؟
  • ما هو دور التذاكر في "مصادقة النماذج"؟
  • كيفية انتهاء صلاحية البطاقة وانتهاء صلاحية ملف تعريف الارتباط فيما بينها؟
  • كيف يعمل انتهاء الصلاحية الانزلاق في سياق تذكرة مصادقة النماذج وملف تعريف ارتباط مصادقة النماذج؟
  • حيث يمكن تعيين خاصية مهلة ملف تعريف ارتباط مصادقة النماذج وتذكرة مصادقة النماذج؟
  • سيناريو المشكلة: مصادقة النماذج فقد تنقضي مهلة قبل قيمة السمة المهلة التي تم تعيينها في ملف التكوين

ما هو ملف تعريف ارتباط مصادقة النماذج وتذكرة مصادقة النماذج؟ مدى صلتها؟

ملف تعريف ارتباط مصادقة النماذج ليس سوى الحاوية لتذكرة مصادقة النماذج. يتم تمرير قيمة ملف تعريف ارتباط مصادقة النماذج مع كل طلب البطاقة ويستخدم مصادقة النماذج، على الملقم، لتعريف مستخدم تمت مصادقته.

ومع ذلك، إذا اخترنا لاستخدام مصادقة النماذج cookieless، سيتم تمرير البطاقة في URL بتنسيق مشفر. يتم استخدام مصادقة النماذج cookieless لأنه في بعض الأحيان مستعرضات العميل حظر ملفات تعريف الارتباط. يتم تقديم هذه الميزة في Microsoft.NET Framework 2.0.

لمزيد من المعلومات، قم بزيارة موقع شبكة مطوري Microsoft (MSDN) التالي على الويب:

ما هو دور التذاكر في "مصادقة النماذج"؟

يتم استخدام تذكرة مصادقة النماذج لإعلام التطبيق ASP.NET من أنت. وبالتالي، تذكرة لبنة من لبنات الأمان "مصادقة النماذج".

البطاقة مشفرة وتوقيعها باستخدام عنصر التكوين < machineKey > ملف Machine.config للملقم. يستخدم ASP.NET 2.0 ديكريبتيونكي والسمة الجديدة العنصر < machineKey > فك التشفير لتشفير تذاكر مصادقة النماذج. سمة فك التشفير يتيح لك تحديد خوارزمية التشفير استخدام. استخدام ASP.NET 1.0 و 1.1 التشفير 3DES، وغير قابل للتكوين. يتحدد التلاعب بقيمة تذكرة بعدم فك تشفير تذكرة على الخادم. وكنتيجة لذلك، سيتم إعادة توجيه المستخدم إلى صفحة تسجيل الدخول.


إذا تم نشر التطبيق في مزرعة ويب، يجب التأكد من أن ملفات التكوين على كل خادم تشترك في نفس القيمة للسمات validationKey و ديكريبتيونكي في العلامة < machineKey > ، التي تستخدم للتجزئة وفك تشفير البطاقة على التوالي. يجب أن تقوم بذلك لأنه لا يمكنك أن تضمن الخادم الذي ستقوم بمعالجة الطلبات المتتالية. لمزيد من المعلومات حول التشفير فورمسوثينتيكاتيونتيكيت واعتبارات نشر مزرعة ويب، قم بزيارة موقع Msdn التالي:يمكن العثور على المشي من خلال أساليب لإنشاء مفاتيح يدوياً في مقالات "قاعدة معارف Microsoft" التالية:
312906 كيفية إنشاء المفاتيح باستخدام Visual C#.NET لاستخدامه في "مصادقة النماذج"

313091 كيفية إنشاء المفاتيح باستخدام Visual Basic.NET لاستخدامه في "مصادقة النماذج"

يمكن إنشاء تذاكر مصادقة النماذج يدوياً باستخدام فئة فورمسوثينتيكاتيونتيكيت . لمزيد من المعلومات، قم بزيارة موقع Msdn التالي:

كيفية انتهاء صلاحية البطاقة وانتهاء صلاحية ملف تعريف الارتباط فيما بينها؟

في حالة تعريف ارتباط غير دائم، إذا انتهت صلاحية البطاقة، ستنتهي مدة صلاحية ملف تعريف الارتباط أيضا، وسيتم إعادة توجيه المستخدم إلى صفحة تسجيل الدخول. على الجانب الآخر، إذا تم وضع البطاقة ثابتاً، حيث يتم تخزين ملف تعريف الارتباط في مربع العميل المستعرضات استخدام ملف تعريف ارتباط المصادقة نفسه لتسجيل الدخول إلى موقع ويب أي وقت. ومع ذلك، يمكننا استخدام أسلوب FormsAuthentication.SignOut لحذف الدائمة أو ملفات تعريف الارتباط غير الدائمة بشكل صريح.

لمزيد من المعلومات حول أسلوب FormsAuthentication.SignOut ، قم بزيارة موقع Msdn التالي:مع مصادقة النماذج cookieless، إذا تم إغلاق المستعرض، يتم فقدان البطاقة وسيتم إنشاء بطاقة جديدة على الطلب التالي.

كيف يعمل انتهاء الصلاحية الانزلاق في سياق تذكرة مصادقة النماذج وملف تعريف ارتباط مصادقة النماذج؟

تمرير انتهاء الصلاحية يعمل بنفس الطريقة تماما!

ولنأخذ سبيل مثال: إذا كان الوصول إلى صفحة تسجيل الدخول في الساعة 5:00 00:00:00 م، يجب أن تنتهي في الساعة 5:10 00:00:00 م إذا كانت السمة مهلة 10 والسمه slidingExpiration تعيين إلى TRUE. الآن، إذا كان أي صفحة ويب يتم استعراضه مرة أخرى في الساعة 5:05 00:00:00 م، سيعاد تعيين ملفات تعريف الارتباط وفترة مهلة البطاقة إلى 5:15 00:00:00 م.

ملاحظة: إذا تم الوصول إلى صفحة ويب قبل نصف يمر وقت انتهاء الصلاحية، سيتم إعادة تعيين وقت انتهاء صلاحية البطاقة لا. المثال أمامي، إذا تم الوصول إلى أي صفحة ويب مرة أخرى في 5:04 00:00:00 م، سيتم إعادة تعيين ملفات تعريف الارتباط وتذكرة المهلة.

لمزيد من المعلومات، قم بزيارة موقع Msdn التالي:

حيث يمكن تعيين قيمة مهلة ملف تعريف ارتباط مصادقة النماذج وتذكرة مصادقة النماذج؟

الإعداد الوحيد الذي يمكننا في ملف Web.config أو في ملف Machine.config، في العلامة < النماذج > . ستحدد المهلة مصادقة النماذج في السياق تذكرة أو ملف تعريف الارتباط هذا التغيير ما لم يتم إنشاء البطاقة يدوياً.

<!--forms Attributes: 
name="[cookie name]" - Sets the name of the cookie used for Forms Authentication.
loginUrl="[url]" - Sets the URL to redirect client to for authentication.
protection="[All|None|Encryption|Validation]" - Sets the protection mode for data in cookie.
timeout="[minutes]" - Sets the duration of time for cookie to be valid (reset on each request).
path="/" - Sets the path for the cookie.
requireSSL="[true|false]" - Should the forms authentication cookie be sent only over SSL?
slidingExpiration="[true|false]" - Should the forms authentication cookie and ticket be reissued if they are about to expire?
-->
لمزيد من المعلومات، قم بزيارة موقع Msdn التالي:إذا تم إنشاء البطاقة يدوياً باستخدام فئة فورمسوثينتيكاتيونتيكيت ، يمكن تعيين المهلة إلى السمة انتهاء الصلاحية . تتجاوز هذه القيمة قيمة السمة المهلة المحددة في ملفات التكوين.

لمزيد من المعلومات حول أعضاء فورمسوثينتيكاتيونتيكيت ، قم بزيارة موقع Msdn التالي:

سيناريو المشكلة: مصادقة النماذج فقد تنقضي مهلة قبل قيمة السمة المهلة التي تم تعيينها في ملف التكوين

إذا تم إنشاء تذكرة مصادقة النماذج يدوياً، ستتجاوز خاصية مهلة البطاقة القيمة التي تم تعيينها في ملف التكوين. ولذلك، إذا كانت هذه القيمة أقل من القيمة الموجودة في ملف التكوين، النماذج تذكرة المصادقة ستنتهي قبل مهلة ملف التكوين سمة القيمة والعكس بالعكس. على سبيل المثال، لنفترض أنه تم تعيينسمة < النماذج > 30 في ملف Web.config ويتم تعيين قيمة انتهاء صلاحية البطاقة إلى 20 دقيقة. في هذه الحالة، سوف تنتهي تذكرة مصادقة النماذج بعد 20 دقيقة وسيكون المستخدم لتسجيل الدخول مرة أخرى بعد ذلك.

ارتباطات ذات صلة

910439 استكشاف أخطاء وإصلاحها مصادقة النماذج

891032 استكشاف أخطاء ASP.NET

كيفية تنفيذ مصادقة مستندة إلى النماذج في تطبيق ASP.NET الخاص بك باستخدام C#.NET 301240

كيفية تنفيذ مصادقة مستندة إلى النماذج في تطبيق ASP.NET الخاص بك باستخدام Visual Basic.NET 308157

أرجو أن وجدت هذه المعلومات مفيدة في تخفيف بعض الالتباس مع تذكرة مصادقة نماذج ASP.NET وملفات تعريف الارتباط. تذكر، تكون الأعمدة "الصوتية دعم" لك! كما دائماً، لا تتردد في تقديم أفكار حول مواضيع تريد التصدي لها في المستقبل الأعمدة أو في قاعدة المعارف ل Microsoft باستخدام
نموذج طلب لذلك .
خصائص

رقم الموضوع: 910443 - آخر مراجعة: 15‏/01‏/2017 - المراجعة: 1

Microsoft ASP.NET 2.0, Microsoft ASP.NET 1.0, Microsoft ASP.NET 1.1

تعليقات