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

StackOverflow https://stackoverflow.com/questions/2541701

سؤال

تعديل ~ تحديث العنوان وجسم السؤال: هذا هو التحرير.

أريد هذا السلوك لكل تطبيق على IIS6/7. سألت ذلك في البداية قبل أن نتراجع إلى IIS7 ، لذلك يمكن تغيير أي إجابة بين الاثنين (لقد تعلمت قليلاً عن IIS7 منذ ذلك الحين ؛]) لكنني أبحث عن إجابة تعمل.

أحتاج إلى إعادة توجيه كل تطبيق ليس لكل خادم بناءً على إلغاء طلب 401 Auth (بمعنى 401.1 رمز الخطأ). أتمنى أن يساعدك هذا.


في IIS6 ، باستخدام مصادقة NTLM (بمعنى مصادقة Windows المتكاملة) إذا ألغى المستخدم طلب المصادقة ، فكيف يمكنني إعادة توجيهها إلى صفحة أخرى؟ لا يمكنني الحصول على 401 (حاول) أو 401.1 (وليس int) في web.config.

لا يمكنني إعادة التوجيه إذا كانت المشكلة هي حالة 401 لأنني دفع عن قصد إلى 401 للحصول على الرد ، نعم؟ إذن كيف يمكنني التقاط عندما ألغوا في تحدي المتصفح؟

للتأكد من أنني واضح: إذا فتحت Firefox وانتقلت إلى صفحة IWA ، فإن ذلك يعرض لي مربع حوار (على افتراض أنني لم أتكوين ذلك بعيدًا عن: config) وأنا مفتاح في بيانات اعتماد Windows لاستخدامه. أريد منعهم إيقاف هذا المربع.

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

المحلول

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

ثم أضف رمز الحالة الذي تريد التقاطه ومنحه الصفحة التي تريد توجيه المتصفح إليها.

أعلم أنك ذكرت IIS 6 ، لكن ليس لدي إمكانية الوصول إلى أحد هذه الخوادم. ل IIS 7 ، انقر على الموقع. انتقل إلى قسم صفحات IIS>. انقر فوق إضافة. اكتب الكود (401.1) واتركه مسارًا إلى صفحة على موقعك. تأكد من أن الصفحة متاحة للمجهول.

تحديث:
لقد وجدت بعض المعلومات الجديدة. يمكنك التعامل مع هذا في web.config. انظر الموقع التالي لمزيد من التفاصيل: Learn.iis.net

في قسم الأخطاء في web.config ، افعل ما يلي (كمثال):

 <error statusCode="401" subStatusCode="1" prefixLanguageFilePath="c:\inetpub\custerr" path="401_1.htm" />

لا أعرف ما إذا كان يمكنك استخدام صفحات .aspx لهذا الغرض ، لكن من المؤكد أن الأمر يبدو كذلك. ومع ذلك ، من المحتمل أن يكونوا محترفين تمامًا.

وثائق Microsoft على subsatuscode على MSDN. وفقًا لهم ، فإنه يعمل فقط على IIS 7 و .NET 3.0+ ، وعند استخدام وضع خط الأنابيب المتكامل. قد يكون هذا مقيدًا بعض الشيء اعتمادًا على تطبيقك.

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