В моем приложении Rails у меня есть страница входа. После того, как этот пользователь войдет в систему, что лучше всего подходит для моего приложения, чтобы продолжить отслеживание человека, который вошел в систему. Например, если пользователь переместится на разные страницы, мои контроллеры/действия потеряют отслеживание этого пользователя, если я не продолжу передачу переменная между каждой страницей, которую пользователь посещает. Есть ли лучший способ сделать это? Должен ли я использовать переменную sessions
?Rails: отслеживание идентификатора пользователя
5
A
ответ
7
Да, сеансы - это именно то, что вы ищете.
session["user_id"] = user_id
И для извлечения текущего пользователя на другую страницу (если ваша модель называется User):
@current_user = User.find(session["user_id]")
4
Сильно рассмотреть плагин для управления этим.
Существует несколько таких, как restful authentication.
Это дает current_user
и logged_in?
функциональность.
2
Имейте в виду, что если вы используете куки основе сессий, которые по умолчанию я думаю, что в rails 2.1+, чтобы эти данные можно было изменить, чтобы переключиться, кто вошел в систему. – Tilendor
Фактически, файл cookie имеет отпечаток SHA512, основанный на вас r секретный ключ приложения, не искажая данные. Это означает, однако, что содержимое cookie доступно на стороне клиента, поэтому вам следует избегать хранения конфиденциальных данных (паролей и т. Д.), Если вы не перейдете в хранилище на стороне сервера. – Palm