2013-09-24 19 views
6

के साथ सबडोमेन के साथ सत्र साझा नहीं कर सकता मैं एक मेजबान पर लारवेल का उपयोग करने की कोशिश कर रहा हूं जिसमें कई सबडोमेन हैं। केवल एक सबडोमेन में लारवेल का ऐप चल रहा होगा लेकिन मैं PHP मूल सत्र के माध्यम से कुछ चीजें (वर्तमान उपयोगकर्ता की तरह) साझा करना चाहता हूं।लैरवेल 4

मैं Laravel के सत्र config संपादित किया है, सब-डोमेन के साथ काम करने डोमेन मान बदलने:

'cookie' => 'mydomain_session', 
'domain' => '.mydomain.com', 

दूसरे उप डोमेन में, जहां Laravel नहीं चल रहा है, मैं इस तरह से सत्र का उपयोग करने की कोशिश कर रहा हूँ:

session_name("mydomain_session"); 
session_set_cookie_params(0,'/','.mydomain.com',false,true); 
session_start(); 

लेकिन यह काम नहीं कर रहा है, अगर मैं प्रतिध्वनित करने के लिए $ _SESSION चर रिक्त है की कोशिश करो।

अजीब बात यह है कि यदि मैं session_id() को गूंजने का प्रयास करता हूं तो यह सबडोमेन दोनों में समान होता है।

इसके अलावा यदि मैं एक ही स्क्रिप्ट को तीसरे सबडोमेन में स्थापित करता हूं तो यह सत्र को अन्य गैर-लार्वेल सबडोमेन के साथ साझा करता है, बिना किसी समस्या के।

तो मैं क्या गलत कर रहा हूं? मुझे कुछ याद आ रहा है या लैरावेल मूल रूप से मूल PHP सत्र का प्रबंधन नहीं कर रहा है?

किसी भी मदद की सराहना की जाती है!

+0

Laravel के 'सत्र :: प्राप्त करता है()' मुख्य डोमेन और उप डोमेन के बीच साझा किया जाता है? – itachi

+0

नहीं, मैं वेनिला $ _SESSION सरणी का उपयोग करने की कोशिश कर रहा हूं। – Ingro

+0

मुझे नहीं लगता कि आप डोमेन पर सत्रों को पार कर सकते हैं .. अभी तक सत्यापित किया गया है – reikyoushin

उत्तर

0

या लैरावेल मूल रूप से मूल PHP सत्र का प्रबंधन नहीं कर रहा है?

सही।

अपने routes.php फ़ाइल के शीर्ष में इस फेंक:

Session::put('foo', 'bar'); 
die(print_r($_SESSION)); 

आपको लगता है कि Laravel एक बहुआयामी सरणी में सत्र डालता है देखेंगे।

मेरे लिए, "foo" सत्र $_SESSION['_sf2_attributes']

0

में निहित है तुम शायद जेडब्ल्यूटी (JSON वेब टोकन) करने के लिए स्विच करना चाहिए। उनके डिजाइन के कारण वे इस समस्या से पीड़ित नहीं हैं।

शायद अधिक जानकारी के लिए इस लेख की जाँच: https://auth0.com/blog/2014/01/27/ten-things-you-should-know-about-tokens-and-cookies/

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