Аутентификация пользователя ROR - PullRequest
0 голосов
/ 10 сентября 2011

В моем веб-приложении после того, как пользователь входит в систему, создается новый сеанс, поэтому до тех пор, пока он не закроет браузер, он останется в системе. Проблема возникает, когда администратор хочет запретить пользователю, браузер которого все еще открыт. Несмотря на то, что пользователь заблокирован и больше не может войти в систему, он все равно остается в системе, пока не закроет браузер или не выйдет вручную. Это определенно должно быть исправлено.

Можно ли добавить метод проверки к каждому действию каждого контроллера? Конечно, я имею в виду умный способ - не копировать / вставлять 100 раз.

Ответы [ 2 ]

3 голосов
/ 10 сентября 2011

добавьте следующее к вашему контроллеру приложения:

before_filter :sign_out_banned_user

def sign_out_banned_user
  if current_user.banned?
    session[:current_user_id] = nil
    redirect_to root_path, :notice => "You are banned"
    return false
  end
end
1 голос
/ 10 сентября 2011

Вы также должны сбросить сессию, я думаю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...