5fa8b94d |
class ApplicationController < ActionController::Base |
7aef87db |
|
120b99ea |
before_filter :require_login |
7aef87db |
def require_login
if authenticated?
create_new_authentification() |
f835d40d |
unless controller_name == 'chat' |
ff94bdbf |
redirect_to chat_template_path |
f835d40d |
end |
7aef87db |
else |
120b99ea |
unless controller_name == 'sessions' && (action_name == 'new' || action_name == 'create') |
31d1a3aa |
redirect_to root_url, flash: {error: I18n.t('login.access-denied')} |
120b99ea |
end |
7aef87db |
end
end
protected
def authenticated?
!! Token.authenticate(session)
end
def create_new_authentification
Token.remove_old_session(session[:token])
session[:token] = Token.generate_token()
session[:created_at] = Time.now
session[:ip] = request.remote_ip
Token.save_session(session)
end |
5fa8b94d |
end |