5

मेरे पास आरसी 2 के साथ एक अजीब समस्या हो रही है।एएसपी.नेट कोर पहचान 3 कुकी टाइमआउट

मैं सेटअप पहचान निम्नलिखित विन्यास विकल्प

options.Cookies.ApplicationCookie.ExpireTimeSpan = new TimeSpan(12,0,0); 

का उपयोग कर वेबसाइट में प्रवेश करने और 35-40mins यह अछूते ही रहे के लिए ~ के बाद 12 घंटे के लिए 3 ExpireTimeSpan है, मैं एक 401 त्रुटि (मेरे ajax के लिए मिलता है पोस्ट कॉल) और वेबसाइट को रीफ्रेश करना, मैं लॉगिन पेज पर वापस आ गया हूं।

जब मैंने ExpireTimeSpan को 12hours पर सेट अप किया है तो मुझे फिर से प्रमाणीकरण क्यों करना होगा?

क्या कोई और सेटिंग या कॉन्फ़िगरेशन है जो मुझे चाहिए?

इसके अलावा,

मैं कैसे समय से पहले समाप्ति होती है छोड़ दिया मिल सकता है? मैं उस जानकारी तक पहुंचना चाहता हूं ताकि मैं अपने उपयोगकर्ताओं को चेतावनी दे सकूं कि उनका सत्र एक्स समय के बाद समाप्त हो जाएगा।

धन्यवाद!

उत्तर

5

मैं इस समस्या

समस्या SecurityStamp तंत्र के साथ निहित है पाया। डिफ़ॉल्ट रूप से, हर 30 मिनट, सुरक्षा टिकट मुद्रित किया जाता है। यह ज्यादातर इस तथ्य के कारण है कि हर जगह साइन इन एक विकल्प है। सुरक्षा टिकट आमतौर पर पहचान में अद्यतन किया जाता है जब उपयोगकर्ता उदाहरण के लिए पासवर्ड बदलता है। यह उन सभी स्थानों को बनाएगा जहां उपयोगकर्ता ने साइन ऑन किया है (जिसने अपना पासवर्ड बदल दिया है) को छोड़कर 30 मिनट के बाद साइन आउट करें क्योंकि टिकट (आमतौर पर एक guid) बदल गया है।

अधिक जानकारी के लिए इस कार्यक्षमता को लागू करने के लिए, अपने UserStore में ISecurityStampStore<T> इंटरफ़ेस कार्यान्वित करके लागू GetSecurityStampAsync(User user, CancellationToken cancellationToken) विधि

कारण है कि यह आप 30mins

के बाद आउट कर देता है आप सुरक्षा टिकट सत्यापनकर्ता कोड और कारण की जांच कर सकते https://github.com/aspnet/Identity/blob/dev/src/Microsoft.AspNetCore.Identity/SecurityStampValidator.cs

नोट: options.SecurityStampValidationInterval समय जांच को बढ़ाने के लिए सेट किया जा सकता है, लेकिन यह समस्या हल नहीं होती। एक्स समय के बाद, आप अभी भी साइन आउट हो जाएंगे।

+0

तो कोई रोलिंग समाप्ति या ऐसा कुछ भी नहीं है? वह बेकार है! मुझे लगता है कि मुझे यही चाहिए। मेरी कुकी 30 मिनट पर समाप्त हो रही है, भले ही मेरा सत्र मान्य रहे ... – ganders

+0

क्या आप अपना कोड पोस्ट कर सकते हैं क्योंकि यह आपके प्रोजेक्ट में बैठता है। मैं अभी भी आपके द्वारा वर्णित परिवर्तनों को शामिल करने में भी काम नहीं कर सकता हूं। Startup.cs फ़ाइल, आदि – ganders

+0

क्या आप बैकएंड के रूप में डीबी का उपयोग कर रहे हैं? सक्रिय निर्देशिका? यह सब आपके envrionment पर निर्भर करता है! यदि आप एक फिडलर या कुछ कर सकते हैं जहां हम कोड देख सकते हैं, तो यह सहायक होगा! – DOMZE

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