प्रपत्र प्रमाणन टिकट और कुकी को समझना


ASP.NET समर्थन आवाज़ स्तंभ


प्रपत्र प्रमाणन टिकट और कुकी को समझना

इस स्तंभ आपकी आवश्यकताओं के लिए अनुकूलित करने के लिए, हम आपके विचार विषय आप और समस्याओं के लिए जो आप देखना चाहते हैं अपनी रुचि के बारे में भविष्य में ज्ञानकोष आलेखों और समर्थन आवाज़ स्तंभ संबोधित सबमिट करने के लिए आप आमंत्रित करना चाहते हैं। आप अपने विचार और प्रतिक्रिया पूछें के लिए यह प्रपत्र का उपयोग करते हुए सबमिट कर सकते हैं। इस स्तंभ के नीचे प्रपत्र के लिए कोई लिंक भी है।

परिचय

करने के लिए Microsoft ASP.NET समर्थन आवाज़ स्तंभ में आपका स्वागत है! मैं Nilay B. Shah ASP.NET डेवलपर समर्थन टीम के साथ हूँ। एक और एक आधे वर्ष से अधिक के लिए ASP.NET समर्थन के साथ काम कर रही हैं। प्रपत्र प्रमाणन वास्तव में एक शानदार प्रमाणीकरण सुविधा है। यह आलेख कुछ समस्याओं के लिए जो उपयोगकर्ताओं को प्रपत्र प्रमाणन, जैसे प्रपत्र प्रमाणीकरण टिकट और प्रपत्र प्रमाणीकरण कुकी और उनके संबंधित सेटिंग्स के संबंध के साथ confusing मिला है कवर। मैं Jerry Orman, तकनीकी प्रमुख ASP.NET समर्थन टीम ने अविश्वसनीय रूप से शानदार मदद के लिए धन्यवाद करना चाहूँगा!

वे संबंधित हैं क्योंकि लोग कभी-कभी प्रपत्र प्रमाणन "टिकट" और "कुकीज़" के बारे में आश्चर्य है। मैं प्रश्न जैसे ये पार आए हैं: कोई भी वर्णन कर सकता हूँ कुकी समय सीमा समाप्ति और टिकट समाप्ति के बीच अंतर? जब कुकी समय सीमा समाप्त, उपयोगकर्ता लॉगऑन पृष्ठ पर रीडायरेक्ट किया जाएगा। क्या होता है जब टिकट समयसीमा समाप्त? यह कुकी की समय सीमा समाप्त बना देगा? क्या वास्तव में SlidingUpdate को अद्यतन करता है?

मैं निम्न प्रश्नों का उत्तर देने के लिए इस आलेख में प्रपत्र प्रमाणन के इन दो पहलुओं पर ध्यान केंद्रित करेगा:
  • क्या प्रमाणीकरण टिकट प्रपत्र और प्रपत्र प्रमाणीकरण कुकी है? वे कैसे संबंधित हैं?
  • प्रपत्र प्रमाणीकरण में एक टिकट की भूमिका क्या है?
  • कैसे कुकी समय सीमा समाप्ति और टिकट समाप्ति संबंधित रहे हैं?
  • कैसे स्लाइडिंग समय सीमा समाप्ति कार्य प्रपत्र प्रमाणीकरण टिकट के संदर्भ में करता है और प्रपत्र प्रमाणीकरण कुकी?
  • जहाँ प्रपत्र प्रमाणीकरण टिकट और प्रपत्र प्रमाणीकरण कुकी टाइम-आउट गुण सेट किया जा सकता?
  • समस्या परिदृश्य: प्रपत्र प्रमाणन कॉन्फ़िगरेशन फ़ाइल में सेट टाइमआउट विशेषता मान के पहले टाइम आउट हो सकता है

क्या प्रमाणीकरण टिकट प्रपत्र और प्रपत्र प्रमाणीकरण कुकी है? वे कैसे संबंधित हैं?

प्रपत्र प्रमाणन कुकी प्रमाणीकरण टिकट प्रपत्रों के लिए पात्र लेकिन कुछ भी नहीं है। टिकट प्रत्येक अनुरोध के साथ प्रपत्र प्रमाणीकरण कुकी का मान के रूप में दिया गया है और सर्वर पर प्रपत्र प्रमाणन द्वारा प्रमाणीकृत उपयोगकर्ता की पहचान करने के लिए उपयोग किया जाता है।

हम cookieless प्रपत्र प्रमाणन का उपयोग करने के लिए चुनते हैं, तो हालाँकि, टिकट में URL किसी एन्क्रिप्टेड स्वरूप में पास किया जाएगा। क्योंकि कभी-कभी क्लाइंट ब्राउज़र कुकीज़ ब्लॉक cookieless प्रपत्र प्रमाणन उपयोग किया जाता है। यह सुविधा Microsoft .NET Framework 2.0 में प्रस्तुत है।

अधिक जानकारी के लिए, निम्न Microsoft डेवलपर नेटवर्क (MSDN) वेब साइट पर जाएँ:

प्रपत्र प्रमाणीकरण में एक टिकट की भूमिका क्या है?

प्रपत्र प्रमाणन टिकट ASP.NET अनुप्रयोग जो आप हैं बताएँ करने के लिए उपयोग किया जाता है। इसलिए, बिल्डिंग ब्लॉक प्रपत्र प्रमाणन की सुरक्षा का टिकट है।

टिकट एन्क्रिप्ट किया गया है और सर्वर Machine.config फ़ाइल का तत्व < machineKey > कॉन्फ़िगरेशन का उपयोग करके हस्ताक्षरित है। ASP.NET 2.0 decryptionKey और डीक्रिप्शन विशेषता < machineKey > तत्व का नया प्रपत्र प्रमाणीकरण टिकट को एन्क्रिप्ट करने के लिए का उपयोग करता है। डिक्रिप्शन विशेषता निर्दिष्ट एन्क्रिप्शन एल्गोरिथ्म का उपयोग करने के लिए आपको देता है। ASP.NET 1.1 और 1.0 उपयोग 3DES एन्क्रिप्शन, जो कॉन्फ़िगर करने योग्य नहीं है। की हेरा फेरी टिकट के साथ मान सर्वर पर टिकट को डीक्रिप्ट करने के लिए विफलता द्वारा निर्धारित की जाती है। परिणामस्वरूप, उपयोगकर्ता लॉगऑन पृष्ठ पर पुर्ननिर्देशित होगा।


यदि अनुप्रयोग कोई वेब फ़ार्म में लागू किया गया है, तो आप जो hashing और टिकट का डिक्रिप्शन के लिए क्रमशः किया जाता validationKey और decryptionKey विशेषता < machineKey > टैग के लिए एक ही मान प्रत्येक सर्वर पर कॉन्फ़िगरेशन फ़ाइलें साझा कि सुनिश्चित करना होगा। आप कौन सा सर्वर क्रमिक अनुरोध हैंडल करेंगे गारंटी नहीं दे सकता, क्योंकि ऐसा करना होगा। FormsAuthenticationTicket एन्क्रिप्शन और वेब फ़ार्म परिनियोजन विचार के बारे में अधिक जानकारी के लिए, निम्न MSDN वेब साइट पर जाएँ:के माध्यम से घूमने की कुंजियाँ मैन्युअल रूप से जनरेट करने के लिए विधियाँ निम्न Microsoft ज्ञानकोश लेखों में मिल सकता है:
312906 प्रपत्र प्रमाणीकरण में उपयोग के लिए Visual c# .NET का उपयोग कर कुंजी को बनाने के लिए कैसे

313091 प्रपत्र प्रमाणीकरण में उपयोग के लिए Visual Basic .NET का उपयोग कर कुंजी को बनाने के लिए कैसे

प्रपत्र प्रमाणीकरण टिकट मैन्युअल रूप से FormsAuthenticationTicket वर्ग का उपयोग कर जनरेट कर सकते हैं। अधिक जानकारी के लिए, निम्न MSDN वेब साइट पर जाएँ:

कैसे कुकी समय सीमा समाप्ति और टिकट समाप्ति संबंधित रहे हैं?

गैर-निर्बाध कुकी, मामले में टिकट समयसीमा समाप्त हो गई है, तो कुकी समाप्त भी हो जाएगा, और उपयोगकर्ता लॉगऑन पृष्ठ पर पुर्ननिर्देशित होगा। कुकी क्लाइंट बॉक्स पर, संग्रहीत किया जाता है, जहाँ टिकट के रूप में निर्बाध, चिह्नित है, तो दूसरी ओर, ब्राउज़र एक प्रमाणीकरण कुकी किसी भी समय वेब साइट पर लॉग ऑन करने के लिए उपयोग कर सकते हैं। हालाँकि, हम निर्बाध को हटाने के लिए FormsAuthentication.SignOut पद्धति या गैर-निर्बाध कुकीज़ स्पष्ट रूप से उपयोग कर सकते हैं।

FormsAuthentication.SignOut के लिए विधि के बारे में अधिक जानकारी के लिए, निम्न MSDN वेब साइट पर जाएँ:Cookieless प्रपत्र प्रमाणन, के साथ ब्राउज़र बंद है, तो टिकट खो गया है और अगले अनुरोध पर एक नया टिकट जनरेट किया जाएगा।

कैसे स्लाइडिंग समय सीमा समाप्ति कार्य प्रपत्र प्रमाणीकरण टिकट के संदर्भ में करता है और प्रपत्र प्रमाणीकरण कुकी?

समय सीमा समाप्ति स्लाइडिंग बिल्कुल उसी तरह काम करता है!

हमें एक उदाहरण लें: यदि लॉगऑन पृष्ठ 5:00 बजे तक पहुँचा है 00:00:00 PM 5:10 00:00:00 टाइमआउट विशेषता और slidingExpiration विशेषता 10 है, तो PM के लिए सही सेट है पर समाप्त होना चाहिए। अब, अगर किसी भी वेब पृष्ठ फिर से 5:05 पर ब्राउज़ किया है 00:00:00 PM 5:15 करने के लिए रीसेट हो जाएगा कि कुकीज़ और टिकट टाइम-आउट अवधि 00:00:00 PM.

नोट वेब पेज आधे समय सीमा समाप्ति समय पासेस से पहले तक पहुँचा है, तो टिकट समय सीमा समाप्ति समय रीसेट नहीं होंगे। Fore उदाहरण, फिर 5:04 पर किसी भी वेब पृष्ठ तक पहुँच है, अगर, 00:00:00 PM, कुकीज़ और टिकट टाइमआउट समयावधि रीसेट नहीं किया जाएगा।

अधिक जानकारी के लिए, निम्न MSDN वेब साइट पर जाएँ:

जहाँ प्रपत्र प्रमाणीकरण टिकट और प्रपत्र प्रमाणीकरण कुकी टाइम-आउट मान सेट किया जा सकता?

Web. config फ़ाइल या Machine.config फ़ाइल में < प्रपत्र > टैग में केवल सेटिंग जो आप बना सकते है। कोई टिकट या कुकी के संदर्भ में प्रपत्र प्रमाणन का टाइम-आउट अवधि इस परिवर्तन निर्धारित करेगा टिकट मैन्युअल रूप से जनरेट किया गया है जब तक।

<!--forms Attributes: 
name="[cookie name]" - Sets the name of the cookie used for Forms Authentication.
loginUrl="[url]" - Sets the URL to redirect client to for authentication.
protection="[All|None|Encryption|Validation]" - Sets the protection mode for data in cookie.
timeout="[minutes]" - Sets the duration of time for cookie to be valid (reset on each request).
path="/" - Sets the path for the cookie.
requireSSL="[true|false]" - Should the forms authentication cookie be sent only over SSL?
slidingExpiration="[true|false]" - Should the forms authentication cookie and ticket be reissued if they are about to expire?
-->
अधिक जानकारी के लिए, निम्न MSDN वेब साइट पर जाएँ:टिकट मैन्युअल रूप से FormsAuthenticationTicket वर्ग का उपयोग करते हुए उत्पन्न होता है, तो विशेषता द्वारा समय सीमा समाप्ति टाइम-आउट सेट किया जा सकता है। यह मान कॉन्फ़िगरेशन फ़ाइल में निर्दिष्ट टाइमआउट विशेषता मान को ओवरराइड करेगा।

FormsAuthenticationTicket सदस्य के बारे में अधिक जानकारी के लिए, निम्न MSDN वेब साइट पर जाएँ:

समस्या परिदृश्य: प्रपत्र प्रमाणन कॉन्फ़िगरेशन फ़ाइल में सेट टाइमआउट विशेषता मान के पहले टाइम आउट हो सकता है

यदि प्रपत्र प्रमाणीकरण टिकट मैन्युअल रूप से जनरेट किया गया है, टिकट का गुण टाइम-आउट मान जो कॉन्फ़िगरेशन फ़ाइल में सेट है ओवरराइड करेगा। उस मान कॉन्फ़िगरेशन फ़ाइल में मान से कम है, तो इसलिए, प्रपत्र प्रमाणन टिकट समाप्त होंगे, कॉन्फ़िगरेशन फ़ाइल करने से पहले समयबाह्य मान और वाइस-versa विशेषता है। उदाहरण के लिए, आइए < प्रपत्र >टाइमआउट विशेषता 30 के लिए web. config फ़ाइल में सेट किया गया है और 20 मिनट के लिए टिकट की समय सीमा समाप्ति मान सेट मान। इस स्थिति में, प्रपत्र प्रमाणीकरण टिकट 20 मिनट के बाद समाप्त हो जाएगी और पुन: जो बाद लॉग ऑन करने के लिए उपयोगकर्ता के पास जाएगा।

संबंधित लिंक्स

910439 प्रपत्र प्रमाणन का समस्या निवारण करें

891032 ASP.NET समस्या निवारण

301240 c# .NET का उपयोग कर अपने ASP.NET अनुप्रयोग में प्रपत्र-आधारित प्रमाणीकरण कार्यान्वित करने के लिए कैसे

308157 Visual Basic .NET का उपयोग कर अपने ASP.NET अनुप्रयोग में प्रपत्र-आधारित प्रमाणीकरण कार्यान्वित करने के लिए कैसे

मुझे आशा है कि यह जानकारी आप ASP.NET प्रपत्र प्रमाणन टिकट और कुकी के साथ शामिल असमंजस की कुछ easing में मददगार मिल। याद रखें, समर्थन आवाज़ स्तंभों के लिए आप हैं! हमेशा, इच्छित विषय पर विचारों को सबमिट करने के लिए मुक्त अनुभव भविष्य में स्तंभ संबोधित के रूप में या में Microsoft नॉलेज बेस का उपयोग
पूछें के लिए यह प्रपत्र।