2016-02-12 10 views
8

मुझे एक एमवीसी 6 प्रोजेक्ट पर "मुझे याद रखें" शैली चेकबॉक्स के साथ कोई समस्या है। मेरे पास related question here था जिसने मेरे लोकहोस्ट पर डिबगिंग के लिए इस मुद्दे को हल किया, हालांकि हमारे देव पर्यावरण में परियोजना को तैनात करने के बाद, यह अभी भी मुझे 20 मिनट के बाद पुनः लॉगिन करने के लिए मजबूर करता है।एएसपी.Net 5 पहचान निरंतर प्रमाणीकरण काम नहीं कर रहा IIS 7.5 निष्क्रिय टाइमर

20 मिनट के समय के दौरान मुझे लगता है कि आईआईएस के साथ कुछ गलत तरीके से कॉन्फ़िगर किया गया था। मैंने अपना ऐप पूल सेट किया ("कोई प्रबंधित कोड" के रूप में कॉन्फ़िगर किया गया) निष्क्रिय टाइमर 1 मिनट के बाद निष्क्रिय होने के लिए। निश्चित रूप से, 1 मिनट के बाद, मुझे फिर से लॉगिन करना होगा।

इस ओर जाता है मुझे विश्वास है कि मेरे कायम प्रमाणीकरण कुकी अब एक अनुप्रयोग पूल रीसायकल के बाद वैध रूप में स्वीकार किया जा रहा है (भले ही मेरी कुकी नहीं करने के लिए कॉन्फ़िगर किया गया है 10 दिनों के लिए समय सीमा समाप्त हो और SecurityStampValidationInterval 10 दिन और 1 मिनट के लिए सेट कर दिया जाता ।

मैं एक web.config की मशीन कुंजी से संबंधित नेट के पुराने संस्करणों में कुछ इसी तरह देखा है, लेकिन मुझे एक मशीन कुंजी डाल करने के लिए MVC6 web.config में एक system.web खंड नहीं है।

मेरा .NET5 प्रोजेक्ट डीएनएक्स पूर्ण .NET ढांचे को लक्षित कर रहा है, न कि .NET कोर।

उत्तर

6

आपने डेटा सुरक्षा कैसे कॉन्फ़िगर की है? आईआईएस और डीएनएक्स के साथ हम नहीं जानते कि कुंजी को लगातार तरीके से स्टोर करना है, जब तक कि आप कोई प्रोफ़ाइल लोड न करें, जो डिफ़ॉल्ट नहीं है। तो एक बार जब आपका ऐप प्रमाणीकरण कुकीज़ पर हस्ताक्षर करने के लिए उपयोग की जाने वाली सभी चाबियों को समाप्त कर देता है तो उसे फेंक दिया जाता है। यह आईआईएस एक्सप्रेस में नहीं होता है, क्योंकि आईआईएस एक्सप्रेस प्रोफाइल लोड करता है।

आपके पास यहां कुछ विकल्प हैं। आप या तो कुछ रजिस्ट्री प्रविष्टियां बनाने के लिए IIS सर्वर पर provisioning script चला सकते हैं ASP.NET उपयोग कर सकते हैं, या आप configure data protection to use the file system कर सकते हैं जो आप करेंगे यदि आप एकाधिक होस्ट चलाने के इच्छुक थे।

+0

मैं देखता हूं। मैं डेटा सुरक्षा का शोध कर रहा था, लेकिन मैं उस डॉक्यूमेंटेशन से पता लगाने में सक्षम नहीं था जिसे मुझे फ़ाइल सिस्टम या रजिस्ट्री का उपयोग लगातार कुंजी का उपयोग करने के लिए कॉन्फ़िगर करने के लिए करना था। तुम्हारे सहयोग के लिए तुम्हे धन्यवाद! मुझे पता है .Net 5 अभी भी अपेक्षाकृत नया है, इसलिए हम सभी सीख रहे हैं :) – mituw16

+0

यदि आपके पास सुझाव हैं कि हम दस्तावेज़ों या टेम्पलेट्स में इसे बेहतर कैसे बना सकते हैं तो कृपया मुझे बताएं। – blowdart

+0

दस्तावेज़ बहुत अच्छे हैं! मैं ट्रिप हो गया क्योंकि मैंने 2 + 2 = 4 कनेक्शन नहीं बनाया था जिसे पहचान फ़ाइल को जारी रखने की अनुमति देने के लिए मुझे फ़ाइल सिस्टम (या रजिस्ट्री) पर बने रहने की आवश्यकता थी। हकीकत में, जवाब ठीक था, मैंने इसे अभी नहीं देखा। मैं इस मुद्दे पर इतने लंबे समय तक काम कर रहा था कि मैंने सरल जवाब याद किया :) – mituw16

1
एक बेहतर समाधान के लिए

संपादित

देखें @ blowdart का जवाब।


किसी को भी, जो एक ही मुद्दा रहा था, "ठीक" है कि मैं इस के लिए लागू सामना कर रहा है के लिए 0 करने के लिए IIS में निष्क्रिय टाइमर सेट करने के लिए, कभी नहीं टाइमआउट जिसका मतलब है कि है।

मैं अभी भी एक वास्तविक समाधान का पता लगाने की कोशिश कर रहा हूं, क्योंकि कुछ होस्टिंग वातावरण निष्क्रिय टाइमर को 0 (आमतौर पर साझा होस्टिंग आदि) पर सेट करने की अनुमति नहीं दे सकते हैं।

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