2016-11-12 3 views
1

Когда я вижу рельсы войти я вижу только один SQL для авторизованного пользователя, например:Как работает функция devise_user_token?

User Load (44.9ms) SELECT "users".* FROM "users" ORDER BY "users"."id" ASC LIMIT $1 [["LIMIT", 1]] 

И я мог бы найти в моем браузере куки: remember_user_token со случайной строкой. Но как рельсы понимают, что это пользователь с id = 1?

+0

В вашей модели пользователя есть столбец 'authenticatable_salt' или' remember_token'? Как выглядит ваша модель пользователя? – slowjack2k

+0

нет, только логин и зашифрованный пароль в БД – mystdeim

ответ

0

Случайная строка, хранящаяся в cookie браузера, закодирована с помощью user_id и remember_token, поэтому устройство может получить user_id после декодирования случайной строки.

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