2011-01-28 13 views
9

मैं प्रमाणीकरण के लिए वसीयत का उपयोग करें और चाहते में कायम रखना काम करने के लिए निम्नलिखित:रेल/वसीयत - एक वसीयतनामा कुकी की स्थापना विभिन्न उप

  1. उपयोगकर्ता [http://mydomain.com] में लॉग करता है। http://clearcove.ca/blog/2010/11/how-to-secure-a-rails-app-on-heroku-with-ssl-firesheep/

    लेकिन हिस्सा मैं कहाँ की जरूरत पर हूँ:

  2. उपयोगकर्ता प्रणाली का उपयोग कर

मैं इस ट्यूटोरियल अनुसरण कर रही हूं जारी रखने के लिए [https://secure.mydomain.com]

  • उपयोगकर्ता [http://mydomain.com/action] रिटर्न पर एक भुगतान करता है डेविस को यह करने के लिए कि क्या ऑथलॉगिक करता है। मदद!! ;)

  • उत्तर

    21

    मुझे इससे थोड़ा देर हो सकती है, लेकिन भविष्य में देख रहे लोगों के लिए, यह एक काफी आसान समाधान है। अपने वातावरण के कॉन्फ़िग फ़ाइल को यह करें:

    Rails3App::Application.config.session_store :cookie_store, :key => '_rails3_app_session', :domain => :all 
    # change "Rails3App" to the name of your rails app. 
    

    इस बात का महत्वपूर्ण हिस्सा है: डोमेन =>: सभी, क्योंकि ऐसा करना बताता है रेल उप डोमेन के रूप में अच्छी तरह से अनुमति देने के लिए। अन्य ने इसका उपयोग करने का सुझाव दिया है: डोमेन => ".mydomain.com", लेकिन: डोमेन =>: सभी नौकरी करते हैं और आपको अपने डोमेन नाम में रखने की आवश्यकता नहीं होती है।

    नोट: यदि सर्वर को पुनरारंभ करते समय यह काम नहीं करता है, तो आपके पास शायद आपके प्रारंभकर्ता/फ़ोल्डर में session_store.rb फ़ाइल है जो इसे ओवरराइड कर रही है। बस उस फ़ाइल में लाइन को बदलें, या उस फ़ाइल को हटा दें और इसे अपनी कॉन्फ़िगरेशन पर ले जाएं।

    इसके अलावा, मुझे विशेष रूप से session.store.rb फ़ाइल में बदलने के बाद से मेरी उत्पादन.आरबी फ़ाइल में लाइन को रखना था, विकास के लिए मेरे सत्र तोड़ दिए (आईपी पते का उपयोग करके)।

    7

    परिशिष्ट: यदि यह अभी भी काम नहीं करता है, हालांकि आप यकीन है कि रहे आप अपने पुराने कुकी हट, कुकी के प्रमुख नाम बदलने - बस सुनिश्चित करने के लिए। (समस्या निवारण के घंटों के बाद, यह सब मुझे वास्तव में काम करने के लिए करना था।)

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