日本一区二区免费播放_麻豆导航_久久精品99_国产性av_色婷婷噜噜久久国产精品12p_av福利资源_精品综合久久

當前位置:首頁 > 網站舊欄目 > 學習園地 > 設計軟件教程 > 每天一劑Rails良藥之Keep An Eye On Your Session Expiry

每天一劑Rails良藥之Keep An Eye On Your Session Expiry
2010-01-14 07:05:17  作者:  來源:
Rails的session默認為當用戶關閉瀏覽器時終止
我們可以在config/environment.rb里設置它:
Java代碼 復制代碼
  1. CGI::Session.expire_after 1.month  

這需要一個插件,具體session設置請參考http://wiki.rubyonrails.org/rails/pages/HowtoChangeSessionOptions
這不是今天我們討論的重點

出于安全問題,有時候我們需要通知用戶你的session快超時了,如在線銀行系統等
讓我們看看在Rails里怎樣做

1,bank_account_controller.rb
Java代碼 復制代碼
  1. class BankAccountController < ApplicationController   
  2.   before_filter :update_activity_time, :except => :session_expiry   
  3.   def update_activity_time   
  4.     session[:expires_at] = 1.minutes.from_now   
  5.   end   
  6.      
  7.   def session_expiry   
  8.     @time_left = (session[:expires_at] - Time.now).to_i   
  9.     unless @time_left > 0  
  10.       reset_session   
  11.       render '/signin/redirect'  
  12.     end   
  13.   end   
  14. end  

該controller里定義了update_activity_time這個before_filter,它設置session的超時時間,這里為了demo我們設置為1分鐘

2,bank_account/index.rhtml
Java代碼 復制代碼
  1. <html>   
  2.     <head>   
  3.         <%= javascript_include_tag :defaults %>   
  4.     </head>   
  5.     <body>   
  6.         <div id='header'></div>   
  7.         <%= periodically_call_remote :url => {   
  8.                 :action => 'session_expiry'},   
  9.                 :frequency => 1,   
  10.                 :update => 'header' %>   
  11.         <div id='body'>Here's where your application's real functionality goes.</div>   
  12.     </body>   
  13. </html>  

我們使用periodically_call_remote這個helper方法來每間隔1秒遠程調用一次session_expiry這個action,并更新header這個div

3,bank_account/session_expiry.rhtml
Java代碼 復制代碼
  1. <span style='color: read; font-weight: bold'>   
  2.     Your session will expire in <%= @time_left %> seconds   
  3. </span>  

這里顯示了我們的session還有多久會expire

4,signin/redirect.rjs
Java代碼 復制代碼
  1. page << "window.location = '#{signin_url}';"  

我們在session超時的時候自動redirect到signin_url(需要我們在routes.rb里定義)

安徽新華電腦學校專業職業規劃師為你提供更多幫助【在線咨詢
主站蜘蛛池模板: 免费在线国产视频 | 狠狠色噜噜狠狠狠888奇米 | 天天干网 | 欧美xxxx狂喷水喷水 | 国产精品天天影视久久综合网 | 九九九九精品视频在线播放 | 国产欧美一区二区三区视频在线观看 | 99国产精品久久久久久久成人热 | www.xxx视频| 亚洲最大的成人网 | 国产精品亚洲成在人线 | 亚洲国产精品综合久久一线 | 免费一级特黄 欧美大片 | 青青久在线精品视频 | 国产精品久久久久无码av | 99久久这里只精品麻豆 | 亚洲无吗在线视频 | 欧美性bbbbbbsbbbbbb | 国产精品99久久久久久宅男 | 国产高颜值露脸在线观看 | 日本亚洲免费 | 国产精品亚洲欧美日韩久久 | 日本韩国中文字幕 | 日本在线视频免费观看 | 亚洲一区二区三区日本久久九 | 亚洲一区二区三区日本久久九 | 青青热久久国产久精品秒播 | 男女一进一出无遮挡黄 | 久久精品国产精品亚洲人人 | 日本japanese黑人23videos | 亚洲精品视频久久 | 中国一级特黄特爽刺激大片 | 久久99热这里只有精品免费看 | 久碰香蕉精品视频在线观看 | 国产一区二区日韩欧美在线 | 欧美国产综合视频在线观看 | ijzz日本| 久久精品| 日本高清视频一区二区三区 | 亚洲黄色在线观看视频 | 天天色天天拍 |