2014-04-21 2 views
0

Я новичок в Ruby on Rails. Я пытаюсь реализовать тайм-аут сеанса с помощью gem auto-session-time out.Thing - моя сессия заканчивается правильно. Но я хочу, чтобы, пока сессия истекло, я хочу, чтобы URL-адрес перешел к определенной ссылке (скажем, www.abcd.com). Также я хочу, чтобы метод вызывался во время истечения срока действия сеанса. Прямо сейчас, через 1 минуту, когда я перезаряжаю свой сеанс, истек, но он перемещается на ту же страницу.auto-session-timeout - Ruby on Rails

У меня есть это в мой контроллер приложения

auto_session_timeout 1.minute 

и в моих маршрутах

match 'active' => 'sessions#active' 
match 'timeout' => 'sessions#timeout' 

и в моем sessionscontroller

def active 
    p "--------------Active--------------" 
    end 

    def timeout 

     p "------------TimeOut--------------" 
     RestClient.post 'https://www.abcd.com', :ApplicationName => 'ABCD Website&Application', :URL => 'http://www.xyz.com/login/' 
     end 

я думал, я хотел бы получить этот метод во время сеанса получает истекший. Но это не работает. Заранее спасибо

+1

Если я правильно понимаю, почему вы не можете добавить аутентификацию 'before_filter' или что-то, что проверяет, истекло ли время сеанса и перенаправляет пользователя оттуда? Разве это не поможет? –

+0

@PamioSolanky Привет, как я сказал ранее, я действительно не знаю, как это сделать. Один друг сказал мне, что с этим камнем будет легко сделать это, поэтому я пошел так. Можете ли вы помочь мне так, как вы сказали. –

ответ

1

Редактировать ваши файл- конфигурации/Инициализаторы/session_store.rb

App::Application.config.session_store :cookie_store, 
             :key => "_yourapp_session", 
             :expire_after => 2.minutes 

И тогда в вас контроллер приложения: before_filter: authenticate

def authenticate 
    redirect_to some_path if session[:session_key].nil? 
end 

Примечание: Вы должны вручную установить ключ сеанса. Кроме того, проверьте этот ответ, который должен помочь click here

+0

Помогает ли это @ Нидхину ?? –