11

मैं इस ट्यूटोरियल के आधार पर एक ASP.Net 4.0 रूपों प्रमाणीकरण के साथ साइट के लिए एक कस्टम पहचान वर्ग को लागू कर रहा हूँ की अधिकतम लंबाई:
Forms Authentication Configuration and Advanced Topics
FormsAuthenticationTicket.UserData संपत्ति

मैं अतिरिक्त उपयोगकर्ता जानकारी स्टोर करने के लिए चाहते हैं (प्रथम/अंतिम नाम, लिंग, भौगोलिक क्षेत्र, प्रोफ़ाइल चित्र थंबनेल फ़ाइल नाम, आदि ...) AuthCookie में। UserData प्रॉपर्टी के आकार को सीमित करने के बारे में msdn.microsoft.com पर एक चेतावनी है।

मैं UserData प्रॉपर्टी के लिए एक निश्चित वर्ण सीमा नहीं ढूंढ पा रहा हूं। केवल पूरे एन्क्रिप्टेड कुकी 4096 बाइट्स के तहत होनी चाहिए।

किसी को भी मेरे कोड में अधिकतम वर्ण सीमा पता होना चाहिए? या उपयोगकर्ता जानकारी के इन आवश्यक आवश्यक टुकड़ों को स्टोर करने के बारे में बेहतर विचार है?

धन्यवाद

उत्तर

6

कोई स्पष्ट सीमा नहीं है - अधिकतम आकार उदाहरण के लिए, निर्भर करेगा उपयोगकर्ता नाम की लंबाई पर,। कुकी के अधिकतम आकार (या यदि आप कुकीज टिकट का उपयोग कर रहे हैं तो यूआरएल का) ब्राउज़र-निर्भर है।

आप उस तरह की जानकारी सर्वर-साइड (उदा। सत्र) को स्टोर कर सकते हैं, संभवतः कुकी में किसी प्रकार की कुंजी/आईडी के साथ। ऐसा करने का एक तरीका implement a custom ProfileProvider होगा।

फॉर्म-प्रमाणीकरण कुकी में वर्णित एप्लिकेशन-विशिष्ट जानकारी संग्रहीत करने का एक नुकसान यह है कि यदि आपको कभी भी एप्लिकेशन को फॉर्म प्रमाणीकरण से कुछ अन्य प्रमाणीकरण विधि (जैसे विंडोज प्रमाणीकरण) में स्विच करने की आवश्यकता होती है तो आपको कुछ रीडिज़ाइन की आवश्यकता होगी।

व्यक्तिगत रूप से मैं केवल उस जानकारी को संग्रहीत करता हूं जो प्रपत्र प्रमाणीकरण कुकी में प्रमाणीकरण और संभवतः प्रमाणीकरण के लिए प्रासंगिक है, क्योंकि कुछ भी increase coupling होगा।

0

यह ब्राउज़र की अधिकतम कुकी लंबाई पर निर्भर करता है। इस लेख में मदद कर सकते हैं: Browsers Cookie Limit

और इस लेख में यह भी अपने वर्तमान प्रमाणीकरण टिकट आकार की जाँच करने में सहायक है: Asp.Net Authentication Ticket Checking

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