से पहले मूल प्रमाणीकरण को ट्रिगर करना मेरे पास एक परिदृश्य है जहां मुझे "प्रपत्र प्रमाणीकरण" का उपयोग करके AJAX अनुरोधों के प्रमाणीकरण को संभालना है। मेरी पिछली स्टैक ओवरफ्लो पोस्ट से कुछ खोज और सहायता के आधार पर, मैंने here पर वर्णित विधि का उपयोग करने का निर्णय लिया था।प्रतिक्रिया कोड 401 jquery AJAX त्रुटि हैंडलर
विचार अनधिकृत अनुरोधों के लिए 401 प्रतिक्रिया वापस भेजना है, और उसके बाद AJAX त्रुटि हैंडलर में इसे संभालना है। तो मेरे पास मेरे एएसपीनेट एमवीसी 3 लेआउट पेज में एक एजेक्स त्रुटि हैंडलर है जो ब्राउज़र को लॉगिन पृष्ठ पर रीडायरेक्ट करता है जब इसे अनधिकृत AJAX अनुरोधों पर 401 प्रतिक्रिया प्राप्त होती है। AJAX त्रुटि हैंडलर यहाँ है।
$(document).ajaxError(function (event, jqXHR, ajaxSettings, thrownError) {
if (jqXHR.status == "401") {
window.location.replace(loginUrl);
}
....
});
यह सब मेरे स्थानीय आईआईएस 7.5 सर्वर पर अच्छी तरह से काम करता है। लेकिन सर्वर पर जहां मेरी साइट होस्ट की जाती है, दुर्भाग्यवश, मुझे अवांछित AJAX अनुरोधों (उदाहरण के लिए सत्र का समय समाप्त हो गया) पर मूल प्रमाणीकरण पॉपअप मिलता है, AJAX त्रुटि हैंडलर चलता है और ब्राउज़र को लॉगिन पृष्ठ पर रीडायरेक्ट करता है। जब मैं रद्द करें बटन दबाकर "प्रमाणीकरण आवश्यक" पॉपअप को रद्द करता हूं, तो AJAX त्रुटि हैंडलर चलता है और मुझे लॉगिन पृष्ठ पर रीडायरेक्ट किया जाता है।
तो, ब्राउज़र AJAX त्रुटि हैंडलर चलाने से पहले प्रमाणीकरण पॉपअप क्यों दिखाता है?
संपादित करें: होस्टिंग सर्वर चल रहा है IIS 6.
सावधान "यहाँ" ऊपर इस सवाल का पाठ में लिंक का अनुसरण हो ... यह एक ट्रोजन संक्रमण की रिपोर्ट। – hal9000