2011-02-01 15 views
28

के साथ सत्र की लंबाई निर्धारित करना 1-3 घंटे गैर-उपयोग के बाद तैयार समय समाप्ति के साथ मेरे सत्र (निश्चित रूप से कितना लंबा नहीं है)। मैं इसे कैसे समायोजित कर सकता हूं?डेविस

मैंने दस्तावेज़ों को देखा है और इसके लिए कोई सेटिंग नहीं लग रही है।

धन्यवाद config/initializers/devise.rb में

उत्तर

62

देखो। config.timeout_in सहित कई कॉन्फ़िगरेशन सेटिंग्स हैं। मेरे संस्करण में डिफ़ॉल्ट 30 मिनट है। आप इसे मॉडल पर भी सेट कर सकते हैं:

class User < ActiveRecord::Base 
    devise :timeoutable, :timeout_in => 15.minutes 

अब आप set the timeout dynamically भी कर सकते हैं।

+0

यह उदाहरण के लिए 2 सप्ताह के लिए सेट करने के लिए सुरक्षित है? –

9

Rails4 के साथ, बेहतर बात का पालन करना है:

मॉडल में/user.rb: जोड़ें: timeoutable पहले से ही विद्यमान के लिए चिंतन करना मॉड्यूल की सूची।

class User < ActiveRecord::Base 
    devise :timeoutable 
end 

कॉन्फ़िगर/प्रारंभकर्ता/devise.rb में: टाइमआउट पैरामीटर सेट करें।

Devise.setup do |config| 
    config.timeout_in = 3.hours 
end 
1

ग्लोबल:

class User < ActiveRecord::Base 
    devise (...), :timeoutable 
end 

Devise.setup do |config| 
    config.timeout_in = 3.hours 
end 

यह भी timeout_in विकल्प सेट किया जा सकता है गतिशील

class User < ActiveRecord::Base 
    devise (...), :timeoutable 

    def timeout_in 
    if self.admin? 
     1.year 
    else 
     2.days 
    end 
    end 
end 
+1

हे मान! एक दम बढ़िया! यह अच्छा लग रहा है और भी काम करता है)) – ilgam

+1

हाँ! सिवाय इसके कि आप वहां के समय को पीछे हटाना चाहते हैं। अधिक विशेषाधिकार वाले उपयोगकर्ताओं को अधिक बार प्रमाणित करने के लिए बेहतर ... – hooverlunch