2010-12-02 11 views
6

मैंने एक दिन पहले अपाचे टॉमकैट दस्तावेज पढ़ा है, और मैं emptySessionPath के बारे में इतना उलझन में हूं। मेरे ज्ञान तक, यदि यह सत्य पर सेट है, तो emptySessionPath वेब एप्लिकेशन के मूल फ़ोल्डर में संग्रहीत है। कृपया emptySessionPath शब्द की सही परिभाषा दें और यदि यह सत्य और गलत पर सेट किया गया तो क्या होता है?टोमकैट में खाली सत्र पथ क्या है?

कृपया मुझे मार्गदर्शन करें। अग्रिम धन्यवाद।

उत्तर

7

emptySessionPath फ़ील्ड सिर्फ यह बताता है कि सभी कुकी रूट यूआरएल पथ / (यदि emptySessionPath=true) में संग्रहीत की जानी चाहिए या नहीं (अन्यथा)।

इसका उपयोग अपाचे के कनेक्टर द्वारा किया जाता है। विवरण देखें here (यह एजेपी कनेक्टर के लिए है, जो कनेक्टर ऑब्जेक्ट का हिस्सा है)।

क्या यह मूल रूप से इसका अर्थ है:

तो emptySessionPath बिल्ला में सक्षम किया गया है, JSESSIONID कुकी जड़ "/" पथ के लिए लिखा है। यह का अर्थ है कि आप जो भी वेबपैप पर हैं उसी कुकी का उपयोग करेंगे। प्रत्येक वेबैप कुकी के मान को पर फिर से लिख देगा, उस वेबपैप सत्र आईडी, और वे सभी अलग हैं।

जब यह सक्षम है और अलग webapps में सर्वलेट्स उपयोग किया जाता है, अलग अलग सर्वलेट्स के लिए एक ही उपयोगकर्ता से का अनुरोध करता है कुकी अधिलेखित अंत इतनी है कि जब सर्वलेट फिर से इसे प्रभावित किया है एक नया पैदा करेगा जाएगा सत्र और सत्र को ढीला करें पहले से ही स्थापित हो चुका था।

तो emptySessionPath सेट नहीं है, वहाँ ब्राउज़र में कई कुकीज़, प्रत्येक webapp के लिए एक ( जड़ में कोई नहीं) है, इसलिए विभिन्न webapps नहीं कर रहे हैं फिर से लिखने के ऊपर के रूप में एक दूसरे की कुकी।

JSESSIONID आपके वेबपैड के लिए आईडी सत्र है। एक पूर्ण स्पष्टीकरण here देखें।

अद्यतन: यह जानकारी के बारे में उपयोग कुछ हद तक पुरानी हो चुकी है - कैसे हाल बिल्ला के लिए भी सत्र पथ सेट करने के बारे में एक और अधिक अप करने की तारीख की जानकारी के लिए here देखते हैं।

+0

हाय अभिजात वर्ग, अपने answer.I के लिए धन्यवाद अपनी बात मिल गया। –

+0

हाय एलिट, कृपया और बताएं कि क्या हुआ अगर emptysessionpath सेट नहीं है? –

+0

@ मुनेश्वरन बालासुब्रमण्यम, यदि आप मेरा पहला लिंक पढ़ते हैं, तो सेट नहीं होने पर डिफ़ॉल्ट मान 'झूठा' है। साथ ही, अवरुद्ध खंड पर अंतिम पैराग्राफ पढ़ें, यह बताता है कि 'खाली सत्रपैथ' सेट नहीं है या नहीं। –

4

सत्र, जैसा कि आप शायद जानते हैं, अक्सर एक कुकी द्वारा बनाए रखा जाता है। कुकी में दो मान होते हैं जो निर्धारित करते हैं कि उन्हें ब्राउज़र द्वारा एक निश्चित अनुरोध के लिए वापस किया जाना चाहिए, कुकीडोमेन और कुकीपाथकुकीपाथ अनुरोध के मेल खाना चाहिए।

एक अनुरोध के लिए

/some/request/for/this.html 

कुकी किया जाता है कुकी पथ के साथ लौटा दिया जाएगा:

/
/some 
/some/request 

लेकिन कुकी पथ के लिए नहीं:

/other 

कल्पना से उस सत्र है विभिन्न वेब अनुप्रयोगों के बीच साझा नहीं किया गया है, इसलिए यदि आपके पास वेब एप्लिकेशन foo.war है जो 01 वर्ष से कम है, सत्र कुकी पथ डिफ़ॉल्ट रूप से /foo पर सेट किया जाएगा।

ऐसा लगता है Connector.emptySessionPath कनेक्टर पर एक संरक्षित चर है। मैंने कोड नहीं पढ़ा है - लेकिन मुझे लगता है कि इसमें टॉमकैट के सिंगल साइन ऑन या शेयरिंग सत्रों के साथ कुछ करना है, जहां आप एक संदर्भ में लॉगिन करते हैं और सभी में प्रमाणित होते हैं - इस मामले में कुकी पथ सत्र कुकीज़ के लिए / होना चाहिए ।

5

यदि खाली सत्रपैथ सत्य पर सेट किया गया है, तो यह JSESSIONID कुकी से संदर्भ पथ को खत्म कर देगा। यह एक कुकी पथ सेट करेगा/.इस विशेषता का उपयोग क्रॉस एप्लिकेशन प्रमाणीकरण तंत्र के लिए किया जा सकता है।

0

शायद ज़रुरत पड़े, web_app संस्करण 3.0 के लिए, कुकी विन्यास Standarized है, इसलिए webapp 3.0 में AJP के emptySessionPath के बराबर है:

< सत्र-config >
< कुकी-config >
< पथ >/</पथ >
< सुरक्षित > सच </सुरक्षित >
</कुकी-config >
</सत्र-config >

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