सिनात्रा क्रोम पर रीडायरेक्ट के साथ मेरे सत्र को जारी नहीं रख रहा है। यह एक बिल्कुल नया सत्र बना रहा है और मैं अपने पिछले सत्र डेटा खो रहा हूं। कुछ इस तरहसिनात्रा क्रोम पर रीडायरेक्ट के साथ सत्र जारी नहीं रखता
एक उदाहरण (the Sinatra docs के समान) के रूप में, मैं कर रहा हूँ:
enable :sessions
get '/foo' do
session[:user_id] = 123
session[:session_id] # "ABC", for example
redirect to('/bar')
end
get '/bar' do
# this is "DEF" when responding to Chrome (wrong),
# but "ABC" when responding to Firefox or Safari (right)
session[:session_id]
# this is nil when responding to Chrome (wrong),
# but 123 when responding to Firefox or Safari (right)
session[:user_id]
end
मैं इस के साथ कैसे विभिन्न ब्राउज़रों एक रीडायरेक्ट के बाद सत्र से निपटने के लिए प्रतिक्रिया करने के लिए कुछ न कुछ है सोच रहा हूँ प्रतिक्रिया। क्या किसी ने इस तरह कुछ देखा है, या सत्रों का उपयोग करते समय इसे हल करने के बारे में कोई विचार है?
अग्रिम धन्यवाद!
साइनेट्रा में डिफ़ॉल्ट सत्र हैंडलिंग कुकीज़ के साथ किया जाता है, इसलिए मुझे लगता है कि क्रोम हैंडल (या हैंडल करने से इंकार कर देता है) रीडायरेक्ट पर सेट-कुकी अनुरोधों के साथ ऐसा कुछ करने के लिए है। सुनिश्चित नहीं है कि आप इससे कैसे निपट सकते हैं, लेकिन पूरी समस्या के आसपास एक आसान तरीका डीबी आधारित सत्रों का उपयोग करना होगा, या रेडिस या कुछ समान स्मृति सत्रों में करना होगा। – Jonah
आपका पर्यावरण क्या है? मैंने बस सत्र भंडारण को समाप्त करने वाली एक समस्या का समाधान किया जो कि ब्याज का हो सकता है, लेकिन यह इस बात पर निर्भर करता है कि यह आपके साथ कहां/कैसे हो रहा है। –
मुझे पर्यावरण के रूप में स्टेजिंग का उपयोग करके एक ही समस्या हो रही थी। –