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)

 

posted @ 2014-11-30 00:20  klfjsdkljfkjekgje  阅读(43)  评论(0)    收藏  举报