login and logout & session
session是两台电脑(例如运行网页浏览器的客户端和运行Rails的服务器)之间的半永久性连接。登录页面准备一个新的session,登录后创建这个session,退出则销毁。session和Users的不同在于Users使用数据库,而session则利用cookie存储数据
生成Sessions控制器
rails generate controller Sessions
sessions路由设置
resources :sessions, only: [:new, :create, :destroy] match '/signin', to: 'session#new', via: 'get' match '/signout', to: 'session#destroy', via: 'delete'
has_secure_password提供的密码验证方法
user.authenticate(password)
记忆权标
rails generate migration add_remember_token_to_users
rails提供的cookies方法
cookies[:remember_token] = { value: remember_token, expires: 20.years.from_now.utc }
多重Hash,value指定cookie的文本,expires指定cookie的失效日期
Rails特别提供permanent方法,自动将cookie的失效日期设为20年
cookies.permanent[:remember_token] = remember_token
销毁session
cookies.delete(:remember_token)

浙公网安备 33010602011771号