2013-05-18 5 views
6

मैं सिक्योरसामाजिक 2.0.7 का उपयोग कर रहा था, और मैंने एक UserServicePlugin लागू किया था, और उपयोगकर्ता लॉग इन कर सकते थे। मैं सर्वर को रोक सकता था और पुनरारंभ कर सकता था (या फिर से संकलित या जो कुछ भी), और उपयोगकर्ता लॉग इन रहेंगे।सिक्योरसामाजिक 2.0.12 में अपग्रेड किया गया और अब सत्र जारी नहीं रहे हैं

2.0.12 तक अपग्रेड करने के बाद, लॉगिन सत्र सर्वर पुनरारंभ होने पर लगातार नहीं रहता है।

मैंने UserServicePlugin में प्रत्येक विधि में डीबग लॉगिंग जोड़ा है। लॉगिन पर उपयोगकर्ता saved है। हालांकि, जब सर्वर पुनरारंभ है, और मैं एक पहले से प्रवेश के उपयोगकर्ता के रूप में एक पृष्ठ का उपयोग करने का प्रयास, मैं सिर्फ लॉग में देखें:

[info] play - database [default] connected at jdbc:postgresql://localhost/xxxxxx 
[info] application - [securesocial] loaded templates plugin: sec.SecureSocialViews 
[info] play - Starting application default Akka system. 
[info] application - [securesocial] loaded user service: class sec.LoginUserService 
[info] application - [securesocial] loaded password hasher bcrypt 
[info] application - [securesocial] loaded identity provider: userpass 
[info] play - Application started (Dev) 
[debug] application - [securesocial] calling deleteExpiredTokens() 
[debug] application - deleteExpiredTokens 
[debug] application - [securesocial] anonymous user trying to access : '/supplier/requests' 

कोई भी विचार? मुझे आश्चर्य है कि किसी कारण से लॉगिन कुकी को पहले से ही एक मौजूदा लॉगिन सत्र की जांच करने के लिए भी मिल रहा है ...

मैं उपयोगकर्ता नाम/पासवर्ड प्रमाणीकरण का उपयोग कर रहा हूं।

+0

Play Cache में SecureSocial संग्रहित चीज़ों के साथ ऐसा कुछ भी हो सकता है? (मैं सिर्फ डिफ़ॉल्ट, इन-मेमोरी प्ले कैश का उपयोग कर रहा हूं।) – andrewf

+2

मुझे यह भी खेल 2.1 और मास्टर शाखा सेक्योरॉजिकल पर मिल रहा है। मेरे पास एक डीबी समर्थित उपयोगकर्ता सेवा है और डिस्क पर बने रहने के लिए ehcache कॉन्फ़िगर किया है। हालांकि, सर्वर को पुनरारंभ करते समय, सभी उपयोगकर्ता लॉग आउट होते हैं। निराशा होती। –

उत्तर

4

सत्र में उपयोगकर्ता की जानकारी संग्रहीत करने के तरीके में बदलाव आया था। प्ले सत्र कुकी का उपयोग करने के बजाय मॉड्यूल अब एक अलग का उपयोग करता है। इस कुकी में एक प्रामाणिक आईडी है। उपयोगकर्ता की जानकारी अब सर्वर पर एक प्रमाणीकरणस्टोर कार्यान्वयन में संग्रहीत है। डिफ़ॉल्ट कार्यान्वयन Play कैश का उपयोग करता है, यही कारण है कि आपको पुन: संकलन पर फिर से प्रमाणीकृत करने की आवश्यकता है। कैश में डेटा साफ़ किया जा रहा है।

आप उन रखता/के बाद में लॉग इन रखना चाहते हैं पुनः आरंभ कर सकते हैं:

  1. AuthenticatorStore का कार्यान्वयन और बातें बनी रहती है बनाएँ।
  2. फाइल सिस्टम (diskPersistent = "true") में बने रहने के लिए ehcache.xml फ़ाइल बदलें।
+0

मैंने अपनी ehcache.xml फ़ाइल को अपडेट किया है लेकिन यह काम नहीं कर रहा है –

+0

क्या आपने ehcache.xml फ़ाइल को अपनी ऐप/conf निर्देशिका में कॉपी किया था? – Jorge

+0

हाँ मैंने किया, फ़ाइल ऐप/conf –

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