2010-01-14 11 views
5

मुझे एएसपीनेट फॉर्म प्रमाणीकरण के साथ एक अजीब समस्या का सामना करना पड़ रहा है। यह समस्या केवल 30+ उपयोगकर्ताओं में से 3 उपयोगकर्ताओं के लिए होती है जिन्होंने सफलतापूर्वक लॉग इन किया है। मैं बहुत बुनियादी लेख कोड का उपयोग कर रहा हूं जिसे मैंने कई बार उपयोग किया है और कभी भी यह समस्या नहीं देखी है। उपयोगकर्ताओं को सफलतापूर्वक प्रमाणित करने के बाद और ऑथ कुकी बनाई गई है, कुकी जोड़ा गया है, और FeedsAuthentication.GetRedirect (userid, false) के लिए प्रतिक्रिया.redirect कहा जाता है। Global.asax में Application_AuthenticateRequest विधि हिट है।फॉर्म प्रमाणीकरण authCookie केवल कुछ उपयोगकर्ताओं के लिए शून्य है

// Extract the forms authentication cookie 
     string cookieName = FormsAuthentication.FormsCookieName; 
     HttpCookie authCookie = Context.Request.Cookies[cookieName]; 

     if (null == authCookie) 
     { 
      // There is no authentication cookie. 
      return; 
     } 

तो "अच्छी" कुकी सहेजने के तुरंत बाद और रीडायरेक्ट होता है कि कुकी शून्य है। मैंने डीबगर के माध्यम से कोड चलाया है और कुकी इन 3 उपयोगकर्ताओं पर केवल शून्य है। लेकिन कुकी सफलतापूर्वक लॉगिन करने वाले कई उपयोगकर्ताओं के लिए कुकी के समान दिखती है।

कोई विचार? यह मानक कोड है जो सिर्फ काम करना चाहिए।

+0

फिडलर के साथ समस्या को पुन: उत्पन्न करने का प्रयास करें और देखें कि ऑथ कुकी सेट है या नहीं। –

+0

क्या उपयोगकर्ता कंप्यूटर पर कोई सेटिंग है जो किसी भी कुकीज़ को बनने से संभावित रूप से अवरुद्ध कर सकती है? – keyboardP

+1

उसी कंप्यूटर से, mbalkema सफलतापूर्वक लॉग इन कर सकता है, फिर भी इन तीन उपयोगकर्ताओं में से एक के रूप में, कुकी सफलतापूर्वक सेट नहीं की गई थी। यह उनके कंप्यूटर का मुद्दा नहीं है जितना कि अजीब कुछ प्रपत्र प्रमाणीकरण मॉड्यूल –

उत्तर

2

क्या आप वाकई "अच्छी" कुकी सहेजी गई हैं और प्रतिक्रिया से बाहर निकलती हैं? हेडर में एक अच्छी कुकी जोड़ने के लिए प्रपत्र प्रमाणीकरण में यह संभव है लेकिन कुछ अन्य सिस्टम त्रुटि (उदाहरण के लिए w3wp.exe क्रैशिंग) के रास्ते पर प्रतिक्रिया मार दी जाती है, इसलिए कुकी के बिना एक नई प्रतिक्रिया उत्पन्न होती है और रीडायरेक्ट होता है वैसे भी।

इस तरह की समस्या के साथ अपने अनुभव में, मेरे पास एक कस्टम प्रिंसिपल क्लास था जो प्रमाणीकरण (और कुकी सृजन) के बाद दुर्घटनाग्रस्त हो रहा था और उचित कुकी लिखने के बजाय, पूरी तरह से प्रतिक्रिया से कुकी हटा दी गई।

+0

आपके उत्तर के लिए धन्यवाद जोएल जैसी ही अनुमति है। मैं आपकी समस्या की तरह बिल्कुल नहीं था, लेकिन प्रतिक्रिया में जोड़े जाने के बाद कुकी को जांचने के लिए आपकी सलाह लेकिन रीडायरेक्ट से पहले और ग्लूथ.एक्सएक्स में nookCookie = null चेक सुपर सहायक साबित हुआ। चूंकि यह एडी ग्रुप स्ट्रिंग की लंबाई या एडी ग्रुप स्ट्रिंग में एक चरित्र की वजह से कुकी को दूषित कर रहा था। मैं एडी से समूहों का उपयोग नहीं कर रहा था इसलिए मैंने प्रमाणीकरण के बाद उन्हें बंद करना बंद कर दिया। सब कुछ अब काम कर रहा है। एक बार फिर धन्यवाद। – mbalkema

संबंधित मुद्दे