2012-10-14 15 views
6

पर सेट करने के लिए कैसे करें मैं रेल के उन हिस्सों के साथ बहुत अनुभवी नहीं हूं जो सतह पर नहीं हैं।रेल सत्र सत्र कुकी समाप्ति समय को "सत्र"

मैं चाहता हूं कि एक सत्र कुकी हो, जिसकी समाप्ति session पर हो, इसलिए जब उपयोगकर्ता अपना ब्राउज़र या जो कुछ भी छोड़ देता है तो यह समाप्त हो जाता है। एक सुरक्षा माप के रूप में।

उत्तर

11

डिफ़ॉल्ट रूप से कुकी एक सत्र कुकी है पर एक नजर डालें। config/initializers/session_store.rb में विकल्प हैश प्रदान करके कुकी पर आपका पूरा नियंत्रण है। विकल्प Rack::Session::Cookie (see docs) के समान हैं। तो उदाहरण के लिए, एक विशिष्ट समाप्ति तिथि के लिए आप :expire_after प्रदान कर सकते हैं।

आप Devise उपयोग कर रहे हैं, और rememberable रणनीति, तो एक और कुकी जो आदेश उपयोगकर्ता को पुनः प्राप्त करने में इस्तेमाल किया जा सकता है।

+0

expires_after काम नहीं लग रहा है, ऐसा लगता है कि इसे किसी दिनांक वस्तु के साथ 'समाप्त' होना चाहिए। Rails.application.config.session_store: cookie_store, key: 'बूया', समाप्त हो जाता है: 7.days.from_now –

+0

यह समाप्त हो गया है, इसके बाद समाप्त नहीं होता है ... – Roman