मेरे पास अगला उपयोग केस है:अनाम उपयोगकर्ता के लिए टोमकैट/वसंत सत्र प्रबंधन
हमारे पास वेबस्टोर है जहां उपयोगकर्ता कुछ सामान चुन सकते हैं और फिर उन्हें खरीद सकते हैं। आवेदन में लॉगिन करने से पहले वह अपने कार्ट में माल जोड़ सकता है। इन सभी वस्तुओं को अपने सत्र में संग्रहीत किया जाना चाहिए। जब उपयोगकर्ता "भुगतान" बटन पर क्लिक करता है तो हम उसके क्रेडेंशियल्स/कार्ड/आदि से पूछेंगे।
मेरी समस्या: जब मैं गाड़ी में आइटम जोड़ने से पहले लॉगिन करता हूं तो सभी सही तरीके से काम करते हैं। लेकिन जब मैं अज्ञात उपयोगकर्ता के रूप में कार्ट में आइटम जोड़ने की कोशिश करता हूं, तो आइटम संग्रहित नहीं होते हैं। अज्ञात उपयोगकर्ता के रूप में प्रत्येक पृष्ठ को रीफ्रेश करने के बाद मुझे हमेशा अलग JSESSIONID प्राप्त होता है।
मैं सरल समस्या बनाने का निर्णय लेता हूं जो मेरी समस्या का वर्णन करता है। मुझे लगता है कि इसे मेरे स्रोतों के बिना तय नहीं किया जा सकता है।
https://github.com/AlexTestAccount/simple_test
यह बहुत ही सरल:
यहाँ मेरी अनुप्रयोग है। यह केवल एक नियंत्रक और सत्र बीन contais जहां मैं कुछ बचाने की कोशिश करो।
रन के लिए यह आप Gradle, बिल्ला की जरूरत है और enviropment चर CATALINA_HOME परिभाषित करते हैं, से आप का उपयोग कर सकते हैं:
Gradle तैनात
पी.एस.
>Invalidating session with Id '<originalSessionId>' <and : without> migrating attributes
तो यह प्रिंट "विशेषताओं पलायन के बिना" तो आप वसंत securitys विन्यस्त करने की जरूरत: क्षमा करें मेरी अंग्रेजी
मैं http प्रोटोकॉल का उपयोग करता हूं और http से https पर स्विच नहीं करता हूं। – Alex
क्या आपको लॉग स्टेटमेंट मिला? – Ralph
सत्र फ़िक्सेशनप्रतिबंधस्ट्रेटी जिसे पृष्ठ रीफ्रेश करते समय नहीं कहा जाता है। – Alex