سؤال

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

والصفات:

وأعمل على موقع ASP.NET (.NET 2.0). يمكنني استخدام FormsAuthentication. بل هو شرط لاستخدام الكوكيز لمعالجة الدورة.

في صفحة لدي زر. عندما ينقر المستخدم عليه، يتم فتح نافذة منبثقة. يعرض المنبثقة صفحة ASPX التي تستخدم متغيرات جلسة، تعيين سابقا من نافذة المتصفح الأم. لقد تم اختبار الموقع باستخدام IE (6، 7، 8) وفايرفوكس 2.0. على كل هذه المتصفحات، ونافذة منبثقة لديه حق الوصول إلى الدورة نفس نافذة المتصفح الأم ويعمل كل شيء على ما يرام.

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

ولقد تمكنت من إعادة إنشاء المشكلة على آلة اختبار ورأى أن المنبثقة يستخدم جلسة عمل جديدة.

يجب أن يكون

والآلة فوز XP على IE6 تثبيت! مع IE7 الموقع يعمل على ما يرام.

هل كانت مفيدة؟

المحلول

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

نصائح أخرى

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top