5

इंटरनेट एक्सप्लोरर एक पृष्ठ रीडायरेक्ट के बाद मेरी प्रमाणीकरण कुकी नहीं रख रहा है।एएसपी.नेट प्रमाणीकरण कुकी गायब हो जाती है, केवल आईई में, केवल विशिष्ट स्थानों से

मैं एक ASP.NET 2.0 वेब आवेदन एक साझा IIS7 होस्टिंग पर चल रहा है:

यहाँ स्थिति है। एप्लिकेशन उस उद्देश्य के लिए क्लाइंट मशीन पर लॉगिन और उपयोगकर्ता पहचान को संभालने और कुकी (.ASPXFORMSAUTH) लिखने के लिए प्रपत्र प्रमाणीकरण का उपयोग करता है।

आईई में (संस्करण 8, 9 के साथ चेक किया गया), कुछ स्थानों से, प्रमाणीकरण कुकी को पहले पृष्ठ के बाद नहीं रखा जा रहा है। मनाया व्यवहार है:

  1. उपयोगकर्ता नाम और पासवर्ड लॉगिन के रूप में प्रस्तुत कर रहे हैं
  2. उपयोगकर्ता सफलतापूर्वक पहले के बाद प्रवेश पृष्ठ पर पुनः निर्देशित किया जाता है (और Fiddler पता चलता है कि .ASPXFORMSAUTH कुकी मौजूद है)
  3. के बाद रीफ्रेश के लिए किसी अन्य लिंक पर क्लिक करके या F5 पर क्लिक करके, उपयोगकर्ता को लॉगिन करने के लिए निर्देशित किया जाता है, और प्रमाणीकरण कुकी (फिडलर के अनुसार) अब मौजूद नहीं है। रीफ्रेश/क्लिक पर , अनुरोध हेडर में प्रमाणीकरण कुकी गुम है।

यह क्रोम/एफएफ में और आईई में भी नहीं होता है, ऐसा लगता है कि मैं उस स्थान पर निर्भर हूं जहां से मैं जुड़ा हूं।

भी स्थानीय रूप से (वीएस -2008 में आंतरिक देव सर्वर का उपयोग करके), सभी ठीक काम करते हैं और फिडलर में भी ठीक दिखते हैं।

मैं कुछ दिनों के लिए अपने सिर पर बैंग कर रहा हूं। सोचा कि यह किसी तरह की एक अजीब फ़ायरवॉल समस्या हो सकती है, लेकिन कुछ भी निर्णायक निर्धारित नहीं कर सका।

विचारों की सराहना की जाएगी।

+0

चेक कि जब कुकी बनाया गया है, जिस डोमेन और पथ के साथ बनाया गया है, वह एप्लिकेशन के अन्य हिस्सों के लिए मान्य है जो इसका उपयोग करने का प्रयास कर रहे हैं। साथ ही, सुनिश्चित करें कि इस फ़ॉर्म में आपके फॉर्म auth web.config सेटिंग्स सही हैं। [इस पृष्ठ] [1], विशेष रूप से पथ और डोमेन विशेषताओं की जांच करें। [1]: http://msdn.microsoft.com/en-us/library/1d3t3c61.aspx – HackedByChinese

+0

क्या आपने कभी इस पर कोई प्रगति की है? मुझे अब एक बहुत ही समान समस्या है –

+0

मुझे डर नहीं है। मुद्दा अभी भी मौजूद है। मेरे पास अंतिम दिनों में इसमें शामिल होने के लिए पर्याप्त समय नहीं था, निकट भविष्य में इसे वापस मिल जाएगा। यदि आप कोई अग्रिम करते हैं तो कृपया अपडेट करें। –

उत्तर

0

1.try एक सतत् कुकी बनाना

2.Check आईई

के लिए आपकी कुकी सेटिंग
+0

1. कोशिश की, और समाप्ति समय को अतिरिक्त लंबे, कोई बदलाव नहीं करने की कोशिश की। 2. आईई सेटिंग्स कम से कम कम हो गई थी और कुकीज़ अन्य साइटों में ठीक काम करती थीं। साथ ही, एक ही मशीन पर एक ही ब्राउज़र अलग-अलग समय पर अलग-अलग व्यवहार करता है। –

9

आईई एक अजीब बग से ग्रस्त है -, कुछ कारणों के लिए अगर वहाँ डोमेन के नाम पर गैर अक्षरांकीय अक्षर हैं , आईई कुकीज़ जारी नहीं रखेगा ... और इसलिए आपके पास अलग-अलग कॉल के बीच कोई लगातार सत्र नहीं होगा।

जांचें कि क्या आपके डोमेन में गैर-अल्फान्यूमेरिक वर्ण हैं, जैसे test_domain या test-domain या पसंद। दुर्भाग्यवश, मुझे संक्रमित डोमेन को अलियासिंग करने या आईपी के माध्यम से सीधे पहुंचने के इस छोटे से किसी भी फिक्स को नहीं पता है। स्थानीय स्तर पर आपको कोई समस्या नहीं होने का कारण यह है कि आप http://localhost पर इंगित कर रहे हैं, जो ठीक है। जैसे ही आप एक गैर आईई अनुपालन डोमेन पर तैनात करते हैं, आपको समस्या दिखाई देगी।

मेरे साथ हुआ और यह जानने के लिए घंटों लगे। उम्मीद है की यह मदद करेगा। आग के साथ आईई को मारने का एक अन्य कारण।

+0

धन्यवाद (और देर से प्रतिक्रिया के लिए माफ़ी)। मेरे डोमेन में संख्याएं हैं, लेकिन कोई विशेष वर्ण नहीं है। किसी भी मामले में, जब आप इसका उल्लेख करेंगे तो मैं इस मामले में खुदाई करूंगा। –

0

सर्वर की तारीख की जांच करें। मेरे पास एक ऐसी स्थिति थी जहां सर्वर ब्राउज़र के पीछे 1 दिन था और इसलिए प्रमाणीकरण कुकी अनिवार्य रूप से समाप्त हो गई। इससे आईई प्रभावित हुआ, लेकिन एफएफ नहीं।

1

मेरे समाधान अन्य समाधान का एक संयोजन किया गया है: http://msdn.microsoft.com/en-us/library/1d3t3c61.aspx : web.xml में टैग ticketCompatibilityMode = "Framework40" जोड़कर .NET 4.0 के लिए

  1. IE not saving asp.net authentication token/cookies
  2. http://connect.microsoft.com/VisualStudio/feedback/details/662275/asp-net-user-agent-sniffing-and-ie10-internet-explorer-10
  3. उन्नयन

ध्यान दें कि वास्तविक अंतिम समाधान तीसरा था।

इतना ही नहीं बल्कि: एक बार मैं इस ध्वज सेट ऊपर मैं कोड में लॉगआउट प्रक्रिया में परिवर्तन करना पीछे क्योंकि पुराने एक लॉगआउट नहीं हुआ था किसी भी अधिक था: सुनिश्चित करने के लिए

protected void LoginStatusLink_LoggedOut(object sender, EventArgs e) { 
    // remove the authenticatation cookies from the browser 
    FormsAuthentication.SignOut(); 

    // force a new 'expired' auth cookie 
    HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName); 
    cookie.Expires = DateTime.Now.AddMonths(-1); 
    Response.Cookies.Add(cookie); 

    // delete roles cookie 
    Roles.DeleteCookie(); 

    // clear and abandon session 
    Session.Clear(); 
    Session.Abandon(); 

    // this line just to leave (forget) the current page 
    this.Response.Redirect("~/"); 
} 
संबंधित मुद्दे