أنت غير متصل حاليًا، وفي انتظار الإنترنت الخاص بك ليقوم بإعادة الاتصال

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

هام: تمت ترجمة هذه المقالة باستخدام برامج مايكروسوفت للترجمة الآلية ومن المحتمل ان يتم تحريرها او تدقيقها بعد ذلك من خلال تكنولوجيا منصة مجموعات الترجمة(CTF) او من خلال مترجم بشري. تقدم لك شركة مايكروسوفت هذه المقالات المترجمة بشكل آلي او بالترجمة البشرية او بعد تحريرها وتدقيقها من قبل مجموعات الترجمة حتى تمكنكم من الوصول إلى جميع المقالات الموجودة في قواعد المعرفة لديها بلغات مختلفة. إلا أن المقالات المترجمة قد تحتوي على أخطاء في المفردات او بناء الجمل او النحو. وعليه، فإن شركة مايكروسوفت ليست مسؤولة عن اية أخطاء او عدم دقة في الترجمة او أية أضرار قد تحدث نتيجة أخطاء في ترجمة محتويات النص او استخدامه من قبل العملاء.

اضغط هنا لرابط المقالة باللغة الانجليزية910439
عمود الصوت دعم ASP. net

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

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

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

نظرة عامة حول مصادقة النماذج

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

بشكل افتراضي، فورمساوثينتيكاتيونمودولي تتم إضافة فئة في الملف Machine.config. الفئة فورمساوثينتيكاتيونمودولي بإدارة عملية FormsAuthentication.

التالي إدخال من الملف Machine.config:
<httpModule>     …other modules…     <add name="FormsAuthentication"         type="System.Web.Security.FormsAuthenticationModule" />     …other modules…</httpModule>
حركة مرور HTTP عام لمصادقة باستخدام "مصادقة النماذج" مشابهاً لما يلي:
  1. يرسل العميل HTTP GET إلى Default.aspx. يتم إرسال لا ملف تعريف ارتباط مصادقة النماذج.
  2. يرسل الملقم استجابة 302 (إعادة توجيه) ل Login.aspx.
  3. يرسل العميل HTTP POST إلى Login.aspx. يتضمن معلومات تسجيل الدخول.
  4. يرسل الملقم استجابة 302 (إعادة توجيه) إلى Default.aspx. يتم تضمين ملف تعريف ارتباط مصادقة النماذج.
  5. يرسل العميل HTTP GET إلى Default.aspx. يتضمن هذا ملف تعريف ارتباط مصادقة النماذج.
لمزيد من المعلومات حول تنفيذ واستخدامها مصادقة النماذج، قم بزيارة مواقع ويب MSDN التالي:لمزيد من المعلومات حول مشاركة ملفات تعريف الارتباط مصادقة النماذج، قم بزيارة موقع ويب ASP.NET التالية:

الأسباب التي قد إعادة توجيه مستخدم إلى صفحة تسجيل الدخول

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

السيناريو 1

في هذا السيناريو، مستخدم بتسجيل الدخول إلى موقع ويب. عند نقطة معينة، يرسل العميل طلب إلى الخادم، و الفئة فورمساوثينتيكاتيونمودولي عدم تلقي ملف تعريف الارتباط. يمكنك القيام بما تحديد إذا طلب مستخدم لا يحتوي على ملف تعريف الارتباط بتمكين ملفات تعريف الارتباط التسجيل في خدمات معلومات إنترنت (IIS) ل Microsoft. للقيام بذلك، اتبع الخطوات التالية:
  1. افتح وحدة تحكم إدارة Microsoft IIS (MMC).
  2. زر الماوس الأيمن فوق موقع ويب ومن ثم انقر فوقخصائص.
  3. انقر فوق موقع ويب علامة التبويب، ومن ثم انقر فوق تمكين تسجيل الدخول.
  4. تأكد من أن تنسيق السجل W3C Extended ملف السجل تنسيق.
  5. انقر فوق خصائص.
  6. انقر فوق متقدم علامة التبويب، ومن ثم انقر فوقالخصائص الموسعة.
  7. ضمن الخصائص الموسعة، انقر لتحديد Cookie(cs(Cookie)) خانة الاختيار و الصفحة المرجعية (cs(Referer)) .
بعد حدوث هذه المشكلة، حدد العميل الذي كان المشكلة وعنوان IP للعميل. تصفية سجل IIS على عنوان IP للعميل، وعرض ملف تعريف الارتباط> العمود.

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

هذا هو تسجيل الدخول الأولى.
أسلوبالصفحةاستجابةملفات تعريف الارتباط
الحصول على/Default.aspx302 (إعادة توجيه)لا ملفات تعريف الارتباط
الحصول على/Login.aspx200 (النجاح)لا ملفات تعريف الارتباط
نشر/Login.aspx302 (إعادة توجيه)لا ملفات تعريف الارتباط
الحصول على/Default.aspx200 (النجاح).أسبكساوث
الحصول على/SomePage.aspx302 (إعادة توجيه)لا .ملف تعريف الارتباط أسبكساوث
هذه طلبات أخرى, متبوعاً بطلب إلى صفحة على الموقع دون.ملف تعريف ارتباط أسبكساوث.
أسلوبالصفحةاستجابةملفات تعريف الارتباط
الحصول على/SomePage.aspx302 (إعادة توجيه)لا .ملف تعريف الارتباط أسبكساوث
الحصول على/Login.aspx200 (النجاح)لا .ملف تعريف الارتباط أسبكساوث
نشر/Login.aspx302 (إعادة توجيه)لا .ملف تعريف الارتباط أسبكساوث
الحصول على/SomePage.aspx200 (النجاح).أسبكساوث

ملاحظة الطلب الأول من هذا المستخدم غير المحتمل أن يكون النماذج ملف تعريف ارتباط المصادقة إلا إذا كنت تقوم بإنشاء ملف تعريف ارتباط دائم. سجل IIS فقط ستظهر لك ملفات تعريف الارتباط التي تم تلقي الطلب. الطلب الأول لملف تعريف ارتباط مصادقة النماذج سيكون الطلب بعد بنجاح محاولة تسجيل الدخول.
السيناريو 2

يمكن أن يكون ملف تعريف ارتباط مصادقة النماذج المفقودة عند تجاوز حد ملف الارتباط للعميل. في Microsoft Internet Explorer، يوجد حد أقصى 20 ملف ارتباط. بعد 20 ملف تعريف الارتباط إنشاء على العميل، تتم إزالة ملفات تعريف الارتباط السابق من قبل العميل مجموعة. إذا كان.يتم إزالة ملف تعريف الارتباط أسبكساوث، المستخدم ستتم إعادة توجيهك إلى صفحة تسجيل الدخول عند معالجة الطلب التالي.

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

لمزيد من المعلومات، انقر فوق رقم المقالة التالي لعرضها في "قاعدة معارف Microsoft":
306070حدود عدد وحجم ملف تعريف الارتباط في برنامج Internet Explorer

يمكنك استخدام Fiddler لعرض رؤوس HTTP التي يتم إرسالها إلى العميل. بعد التقاط حركة المرور، انقر نقراً مزدوجاً فوق طلب، ثم انقر فوق رؤوس لمشاهدة رأس تعيين-Cookie. إذا كنت تتبع تسجيل دخول ناجح، سوف ترى رأس مجموعة-ملف تعريف الارتباط في الاستجابة تسجيل دخول ناجح.

لتنزيل Fiddler، قم بزيارة موقع ويب Fiddler التالية:
السيناريو 3

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

طلب العميل

هذا طلب GET بعد مصادقة المستخدم. علامة يتم تمييز المعلومات تذكرة مصادقة النماذج باللون الأزرق. وهذا يؤكد أن ترك ملف تعريف الارتباط معلومات العميل. عند استخدام التقاط شبكة أداة، مثل Netmon، يمكنك رؤية حركة المرور التي مر بها فعلياً محول.
47 45 54 20 68 74 74 70-3a 2f 2f 6c 6f 63 61 6c   GET http://local68 6f 73 74 2f 46 6f 72-6d 73 41 75 74 68 4c 6f   host/FormsAuthLo67 54 65 73 74 2f 57 65-62 46 6f 72 6d 31 2e 61   gTest/WebForm1.a73 70 78 20 48 54 54 50-2f 31 2e 31 0d 0a 41 63   spx HTTP/1.1..Ac63 65 70 74 3a 20 69 6d-61 67 65 2f 67 69 66 2c   cept: image/gif,…Other headers of the GET request…63 68 65 0d 0a 43 6f 6f-6b 69 65 3a 20 2e 41 53   che..Cookie: .AS50 58 41 55 54 48 3d 33-43 45 46 39 42 39 41 30   PXAUTH=3CEF9B9A043 33 37 41 44 46 36 33-45 36 42 44 33 37 42 36   C37ADF63E6BD37B639 43 44 41 32 35 30 30-30 46 38 30 37 32 38 46   9CDA25000F80728F35 31 43 39 35 36 36 44-31 34 43 35 34 31 34 35   51C9566D14C5414538 31 43 39 33 45 32 41-30 31 44 44 43 44 45 46   81C93E2A01DDCDEF32 34 41 31 37 34 32 39-34 31 30 43 30 39 37 34   24A17429410C097442 33 45 43 42 30 36 34-32 32 38 45 33 35 33 39   B3ECB064228E353939 41 38 32 32 42 33 42-39 33 36 44 46 30 38 46   9A822B3B936DF08F42 41 42 44 33 45 31 30-32 44 30 30 32 31 30 43   BABD3E102D00210C32 45 31 33 39 38 30 37-39 42 32 33 35 32 39 46   2E1398079B23529F34 46 35 44 37 34 41 3b-20 50 72 6f 66 69 6c 65   4F5D74A; Profile3d 56 69 73 69 74 6f 72-49 64 3d 62 32 34 65 62   =VisitorId=b24eb
طلب الخادم

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

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

مهلة البطاقة مصادقة النماذج

سبب الشائعة الأخرى لمستخدم بإعادة توجيه إذا مصادقة النماذج انتهت مدة صلاحية التذكرة. مصادقة النماذج يمكن تذكرة المهلة بطريقتين. إذا كنت تستخدم يحدث السيناريو الأول انتهاء الصلاحية المطلق. مع صلاحية مطلق، انتهاء صلاحية تذكرة المصادقة عند انتهاء مدة انتهاء الصلاحية. على سبيل المثال، يمكنك تعيين انتهاء صلاحية 20 دقيقة، والمستخدم يقوم بزيارة الموقع في 2:00 مساء. سيعاد توجيه المستخدم إلى صفحة تسجيل الدخول إذا يقوم المستخدم بزيارة الموقع بعد 2:20 م.

إذا كنت تستخدم تجديد انتهاء مدة الصلاحية، السيناريو قليلاً أكثر تعقيداً. ملف تعريف الارتباط والبطاقة الناتجة تحديث حالة يقوم المستخدم بزيارة الموقع بعد انتهاء نصف وقت انتهاء الصلاحية. على سبيل المثال، يمكنك تعيين انتهاء صلاحية 20 دقيقة باستخدام تجديد انتهاء مدة الصلاحية. يقوم مستخدم بزيارة الموقع في 2:00 مساء، ويتلقى المستخدم ملف تعريف ارتباط التي تم تعيينها بحيث تنتهي صلاحيتها في الساعة 2:20. يتم تحديث انتهاء الصلاحية فقط إذا قام المستخدم بزيارة الموقع بعد الساعة 2:10. إذا قام المستخدم بزيارة الموقع في 2:09، لا يتم تحديث البطاقة لأن نصف لم يتجاوز وقت انتهاء الصلاحية. إذا كان المستخدم ثم ينتظر 12 دقيقة، زيارة الموقع في 2:21 م، سيتم مدة صلاحية التذكرة. يتم إعادة توجيه المستخدم إلى تسجيل الدخول الصفحة.

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

العينة المرفقة تعمل في Microsoft.NET Framework 1.1 و.NET Framework 2.0، ولها التعليقات في جميع أنحاء. يشتمل النموذج على الملفات التالية:
  • FormsAuthEvents.cs: الفئة التي تقوم بتنفيذ إيهتبمودولي والعلاقات في الحدث Application_BeginRequest .
  • FormsAuthInfo.cs: الفئة التي تقوم باسترداد ملف تعريف الارتباط و يقوم بفك تشفير تذكرة المصادقة النماذج. فإنه يفحص أيضا للتطبيق يتم تمكين ملف Web.config التأكد من أن النماذج المصادقة.
  • FormsAuthConfig.cs: الفئة التي يقوم بقراءة المعلومات من ملف FormsAuthLogger.config.
  • Log.cs: الملف الذي يقبل stringbuilder ويكتب القيم خارج في ملف سجل.
  • FormsAuthLogger.config: ملف XML الذي للقراءة من الملف Log.cs. هذا يحتوي الملف في المجلد/bin مع بناء DLL. يسمح لك للملف تكوين ما يلي:
    • تصفية حسب IP: يمكنك تصفية الالتقاط البيانات من قبل IP العميل. وبهذه الطريقة، يمكنك تسجيل طلبات فقط من عميل معروف إعادة إنشاء المشكلة. وهذا يقلل حجم السجل.
    • نوع الالتقاط: هذا تحديد مكان حفظ الملف. الافتراضي هو مجلد Temporary ASP.NET Files، ولكن يمكنك حفظ هذا في أي مكان طالما حساب العملية المنفذة لديه القدرة على الكتابة إلى مجلد.
ملاحظة سوف توفر رابط تحميل للتعليمات البرمجية التي تم توفيرها في ملف FormsAuthLogger.zip.

أنا أشير إلى المناطق الأساسية هنا:
  1. إنشاء فئة يقوم بتنفيذ واجهة إيهتبمودولي .
    public class FormsAuthEvents : IHttpModule {		…code…}
  2. سلك يصل الحدث الذي تريده للنظر. في هذه العينة، نحن نستخدم الحدث Application_BeginRequest . بهذه الطريقة يمكننا الاستقصاء عن كل طلب وتحديد ما إذا كان يحتوي ملف تعريف ارتباط مصادقة النماذج وسجل فورمسوثينتيكاتيونتيكيت إذا كان هناك ملف تعريف الارتباط.
    public void Init(HttpApplication application) {	//Wire up the BeginRequest event	application.BeginRequest += (new EventHandler(this.Application_BeginRequest));}
  3. تطبيق الحدث Application_BeginRequest .
    private void Application_BeginRequest(Object source, EventArgs e){	   …code to log the ticket…}
  4. استرداد ملف تعريف ارتباط مصادقة النماذج، وفك تشفير أنه.
  5. تسجيل القيم. نوصي تسجيل ما يلي بالإضافة إلى نماذج المعلومات. سوف يساعد هذا صف النماذج الخاصة بك تسجيل معلومات المصادقة إلى IIS، إذا لزم الأمر:
    • التاريخ: يسمح لك بمشاهدة عند الطلب في.
    • ريكويستيبي: يوضح ما إذا كان الطلب هو تحصل عليه أو وظيفة.
    • عنوان URL: يظهر نمط الطلبات السابقة للمشكلة.
    • مرجع
    • كلينتيب: العلاقات في الطلبات إلى معين عميل.

كما هو الحال دائماً، لا تتردد في إرسال أفكار حول المواضيع التي تريدها تناول في الأعمدة المستقبلية أو في قاعدة المعارف باستخدام السؤال عنه .

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 910439 - آخر مراجعة: 05/29/2013 23:55:00 - المراجعة: 1.0

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

  • kbtshoot kbiis kbcode kbasp kbmt KB910439 KbMtar
تعليقات
/html>ype="text/JavaScript" async=""> var varAutoFirePV = 1; var varClickTracking = 1; var varCustomerTracking = 1; var Route = "76500"; var Ctrl = ""; document.write(" >did=1&t=">guage(language);" class="ng-binding" id="language-es-py">Paraguay - Español
Venezuela - Español
id=1&t=">p;did=1&t=">p;t=">