`

使用和学习authenticate插件-场景logout

阅读更多
ruby 代码
 
  1. def logout  
  2.   self.current_user.forget_me if logged_in?  
  3.   cookies.delete :auth_token  
  4.   reset_session  
  5.   flash[:notice] = "You have been logged out."  
  6.   redirect_back_or_default(:controller => '/account', :action => 'index')  
  7. end  
调用current_user方法取得@current实例对象,调用@current对象的forget_me方法,设置remember_token_expires_at和remember_token属性为nil
ruby 代码
 
  1. def forget_me  
  2.   self.remember_token_expires_at = nil  
  3.   self.remember_token            = nil  
  4.   save(false)  
  5. end  
使用cookies.delete从cookies散列中删除 :auth_token,始使用cookie登录失效,用reset_session清除服务器所有相关的session:
ruby 代码
  1. cookies.delete  
  2. reset_session  
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics