के बाद सत्र को रीसेट करता है मैं अपने वेबपैप में अपाचे शिरो का उपयोग कर रहा हूं।शिरो 2 मिनट
मैं सत्र में कुछ पैरामीटर स्टोर करता हूं विशेष रूप से डेटाबेस में संग्रहीत ऑब्जेक्ट की प्राथमिक कुंजी।
जब उपयोगकर्ता लॉग इन करता है, तो मैं डेटाबेस से डेटाबेस लोड करता हूं और सत्र में प्राथमिक कुंजी को सहेजता हूं। फिर ऐप के भीतर उपयोगकर्ता ऑब्जेक्ट के डेटा को संपादित कर सकता है और या तो रद्द या सहेजने वाला बटन दबा सकता है।
दोनों बटन एक आरपीसी ट्रिगर करते हैं जो सर्वर पर अद्यतन डेटा प्राप्त करता है। ऑब्जेक्ट को सत्र में संग्रहीत प्राथमिक कुंजी का उपयोग करके डेटाबेस में अद्यतन किया जाता है।
यदि उपयोगकर्ता ऐप में सक्रिय रहता है (कुछ आरपीसी बनाते हैं) सब कुछ ठीक काम करता है। लेकिन अगर वह 3 मिनट के लिए निष्क्रिय रहता है और बाद में एक आरपीसी बनाता है तो शिरो का securityUtils.getSubject().getSession()
शून्य देता है।
सत्र समय समाप्ति 1,200,000 एमएस (20 मिनट) पर सेट है, इसलिए मुझे नहीं लगता कि यह मुद्दा है।
जब मैं अपने सत्र प्रबंधक के कैश में संग्रहीत सत्रों में जाता हूं तो मैं उपयोगकर्ता के सत्र org.apache.shiro.session.mgt.SimpleSession,id=6de78f10-b58e-496c-b40a-e2a9a4ad069c
देख सकता हूं लेकिन जब मैं कुकी से सत्र आईडी प्राप्त करने का प्रयास करता हूं और सत्र प्राप्त करने के लिए SecurityUtils.getSecurityManager().getSession(key)
पर कॉल करता हूं (जहां कुंजी है सत्रकी कार्यान्वयन): मुझे अपवाद मिलता है।
जब मैं सत्र आईडी से एक नया विषय बनाने का प्रयास करता हूं तो मैं सत्र में सहेजी गई सभी विशेषताओं को खो देता हूं।
मुझे इस मुद्दे को हल करने में मदद के लिए कुछ कोड पोस्ट करने में खुशी हुई है, लेकिन मैंने इतने सारे कामकाज की कोशिश की कि मुझे नहीं पता कि कहां से शुरू करना है ... तो कृपया मुझे बताएं कि आपको क्या चाहिए।
वैकल्पिक रूप से अगर किसी को Shiro तुलना में एक बेहतर प्रलेखित ढांचे मैं सभी कान हूँ
तो फिक्स क्या था? यह आपके उत्तर से स्पष्ट नहीं है, क्योंकि आपने समझाया नहीं है कि आपने क्या बदल दिया है या मूल कॉन्फ़िगरेशन पोस्ट किया है। – frhd