Google के लिए धन्यवाद, मुझे पोस्ट @ cboardP का कैश संस्करण his answer में संदर्भित करता है। मूल लिंक टूटा हुआ है (2012-12-06) क्योंकि मैं दूसरों के संदर्भ के रूप में उस उत्तर/पोस्ट को पोस्ट कर रहा हूं।
Original question जवाब नीचे संदर्भित करता है कि करने के लिए:
मैं है कि मुझे फिट बैठता दे रही है एक रूपों आधारित अनुप्रयोग है। मैंने देखा कि, में एक स्थान जहां IsAuthenticated संपत्ति सही थी, अब यह झूठा था और उम्मीद के अनुसार काम नहीं कर रहा था। मुझे आश्चर्य है कि मेरे पास सेटिंग अमान्य है ?? डैनियल केंट द्वारा क्या constitues में प्रवेश करने
उत्तर -
किसी को भी मुझे बता सकते हैं सही पर IsAuthenticated संपत्ति क्या सेट:।
Request.IsAuthenticated
सिर्फ रूपों authentciation के लिए नहीं है - यह वैध है कोई फर्क नहीं पड़ता कि किस तरह के प्रमाणीकरण का उपयोग किया जा रहा है (विंडोज़, पासपोर्ट, फॉर्म या हमारी खुद की कस्टम योजना)
HttpRequest.IsAuthenticated
उपयोग के दौरान सही होगा अनुरोध प्रमाणीकृत किया गया है। अनिवार्य रूप से, यह संपत्ति जानकारी Context.User.Identity.IsAuthenticated
के रूप में जानकारी प्रदान करती है।
अनुरोध की शुरुआत में, Context.User.Idenity
में एक शून्य उपयोगकर्ता नाम के साथ GenericIdentity
शामिल है।इस ऑब्जेक्ट के लिए IsAuthenticated
संपत्ति वापसी false
तो Request.IsAuthenticated
false
होगी। एक प्रमाणीकरण मॉड्यूल Application_AuthenticateRequest
घटना संभालती है और जब सफलतापूर्वक प्रमाणित करता है उपयोगकर्ता यह एक नया IIdentity
उद्देश्य यह है कि अपने IsAuthenticated
संपत्ति से true
वापस आ जाएगी साथ बदलता है GenericIdentity
Context.User.Identity
में। Request.IsAuthenticated
फिर true
लौटाएगा।
प्रपत्र प्रमाणीकरण के मामले में, प्रपत्र प्रमाणीकरण मॉड्यूल उपयोगकर्ता को प्रमाणित करने के लिए प्रमाणीकरण कुकी में निहित एन्क्रिप्टेड प्रमाणीकरण टिकट का उपयोग करता है। एक बार ऐसा करने के बाद, यह GenericIdentity
Context.User.Identity
में FormsIdentity
ऑब्जेक्ट के साथ True
IsAuthenticated
संपत्ति से True
देता है।
तो, true
को IsAuthenticated
की स्थापना वास्तव में में प्रवेश करने के लिए अलग है। जेफ कहते हैं, रूपों प्रमाणीकरण में लॉग इन करने होता है जब प्रमाणीकरण टिकट उत्पन्न होते हैं और एक कुकी के रूप में ग्राहक के लिए भेजा जाता है। (RedirectFromLoginPage
या SetAuthCookie
) हम IsAuthenticated
के साथ क्या बात कर रहे हैं प्रमाणीकरण है जो प्रत्येक पृष्ठ अनुरोध के साथ होता है। लॉग इन तब होता है जब कोई उपयोगकर्ता अपने क्रेडेंशियल्स में प्रवेश करता है और टिकट जारी किया जाता है, प्रमाणीकरण प्रत्येक अनुरोध के साथ होता है।
यहां Google के कैश किए गए उत्तर का एक लिंक है: https://webcache.googleusercontent.com/search?q=cache:t4JNfp8peQIJ:https://forums.asp.net/t/1416811.aspx%3FQuestion%2Babout%2Bmethods% 2Bto% 2Bdetect% 2Bif% 2BA% 2Buser% 2Bis% 2Blogged% 2Bin – tylerlindell