2015-09-17 30 views
0

我使用巫术进行注册,并使用守门人。我想在用户闲置30分钟后销毁会话。我试过这样但它不起作用。我如何销毁用户在轨道中的会话?

首先这个子模块添加到巫术:

配置/初始化/ sorcery.rb

Rails.application.config.sorcery.submodules = [:session_timeout] 

会话超时配置是这样的:

配置/初始化/ sorcery.rb

Rails.application.config.sorcery.configure do |config| 
    config.session_timeout = 3600 # This is in seconds. You could also write 1.hour 
    config.session_timeout_from_last_action = true # session timeout is calculated from the last valid activity. By default this is false. 
end 

回答

0

您可以简单地尝试

像这样在控制器中的方式

before_filter :session_expires 
before_filter :update_sessions 

def session_expires 
    @time_left = (session[:expires_at] - Time.now).to_i 
    unless @time_left > 0 
    reset_session #clear sessions 
    redirect_to '/' 
    end 
end 

def update_sessions 
    session[:expires_at] = 30.minutes.from_now 
end 
+0

我无法登录。它迫使我注销。 –