2013-03-06 2 views
1

Я только начал Rails из PHP-фона и я отслеживаю этот учебник: http://ruby.railstutorial.org/chapters/sign-in-sign-out#topОтдельный стол для печенья?

В разделе 8.2.1 - Вы должны добавить remember_token пользователям таблицы и значение лексемы помещается в этой области.

Мой вопрос: что делать, если пользователь заходит на разные компьютеры. Поскольку он обновляет поле remember_token, знак cookie будет недействителен для предыдущих компьютеров, с которыми был выполнен вход в систему. Не имеет смысла создавать новый стол для печенья с: id, remember_token, created, user_agent_ip_address или это слишком усложняет ситуацию?

ответ

2

Предположим remember_token, хранящийся в таблице пользователей является мастер-ключ.
Браузеры как двери.
С помощью главного ключа вы можете открывать и закрывать дверь по своему усмотрению. Допустим, вы открываете двери A, B и C. Вы можете закрыть дверь A, пока двери B и C остаются открытыми. Вот как работает remember_token.
Вы подписываете_игр в разных браузерах, затем выбираете, чтобы выходить из системы и остаетесь подписанными на других. Это не значит, что когда вы выходите в браузере, он автоматически подписывает остальное.
В случае, когда вы хотите предоставить пользователям доступ, чтобы увидеть, где (на каких компьютерах) их сеанс активен в настоящий момент (входить в систему), а также разрешить им выходить из этих компьютеров, может потребоваться отдельная таблица cookie. ,

Смежные вопросы