Rails:跟踪用户的ID

ala*_*dey 5 session login ruby-on-rails session-management

在我的Rails应用程序中,我有一个登录页面.在该人登录后,我的应用程序继续跟踪已登录的人的最佳方式是什么.例如,如果用户移动到不同的页面,我的控制器/操作将失去对该用户的跟踪,除非我继续通过用户随后访问的每个页面之间的变量.有没有更好的方法呢?我应该使用sessions变量吗?

Pal*_*alm 7

是的,会议正是您正在寻找的.

session["user_id"] = user_id
Run Code Online (Sandbox Code Playgroud)

并在另一个页面上获取当前用户(如果您的模型名为User):

@current_user = User.find(session["user_id]")
Run Code Online (Sandbox Code Playgroud)

  • 实际上,cookie具有基于应用程序密钥的SHA512指纹,确保不会篡改数据.这意味着cookie内容在客户端可用,因此除非您更改为服务器端存储,否则应避免存储敏感数据(密码等). (2认同)