복붙노트

[RUBY-ON-RAILS] 유증과 세션 길이 설정

RUBY-ON-RAILS

유증과 세션 길이 설정

비 사용 1-3 시간 후 유증의 제한 시간 내 세션 (하지 않도록 정확하게 시간). 이걸 어떻게 조정할 수 있습니까?

나는 문서를 통해 검토 한 결과 이에 대한 설정을 찾을 수 없습니다.

감사

해결법

  1. ==============================

    1.에서 설정 / 초기화 / devise.rb 봐. config.timeout_in를 포함하여 구성 설정이 많이 있습니다. 내 버전의 기본은 30 분입니다. 또한 모델 자체에 설정할 수 있습니다 :

    에서 설정 / 초기화 / devise.rb 봐. config.timeout_in를 포함하여 구성 설정이 많이 있습니다. 내 버전의 기본은 30 분입니다. 또한 모델 자체에 설정할 수 있습니다 :

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

    이제 동적으로 시간 제한을 설정할 수 있습니다.

  2. ==============================

    2.Rails4으로 따라 더 나은 것입니다 :

    Rails4으로 따라 더 나은 것입니다 :

    모델 / user.rb에서 : 추가 timeoutable 유증 모듈의 기존 목록에.

    class User < ActiveRecord::Base
      devise :timeoutable
    end
    

    에서 설정 / 초기화 / devise.rb : 시간 제한 매개 변수를 설정합니다.

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

    3.글로벌 :

    글로벌 :

    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
    
  4. from https://stackoverflow.com/questions/4867298/setting-session-length-with-devise by cc-by-sa and MIT license