<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # express-session express-session中間件將會話數據存儲在服務器上;它僅將會話標識(而非會話數據)保存在 cookie 中。從1.5.0版本開始, express-session不再依賴cookie-parser,直接通過req/res讀取/寫入;默認存儲位置內存存儲(服務器端) ## API ### session(options) 使用給定選項創建session中間件。 **注意** session數據不會保存在cookie本身中,只會保存在session ID中。 會話數據存儲在服務器端。 **注意** 從1.5.0版開始, 此模塊不再依賴 cookie-parser 中間件才能運行。 此模塊現在直接在req / res上讀取和寫入cookie。 如果此模塊和cookie-parser之間的 secret 不同,則使用cookie-parser可能會導致問題。 **警告** 默認的服務器端session 存儲MemoryStore不是特意為生產環境設計的。 它會在大多數情況下泄漏內存,不會擴展到單個進程,并且用于調試和開發。 #### Options * name - cookie的名字(原屬性名為 key)。(默認:’connect.sid’) * store - session存儲實例 * secret - 用它來對session cookie簽名,防止篡改(必填項) * cookie - session cookie設置 (默認:{ path: ‘/‘, httpOnly: true,secure: false, maxAge: null }) * genid - 生成新session ID的函數 (默認使用uid2庫) * rolling - 在每次請求時強行設置cookie,這將重置cookie過期時間(默認:false) * resave - 強制保存session即使它并沒有變化 (默認: true) * proxy - 當設置了secure cookies(通過”x-forwarded-proto” header )時信任反向代理。當設定為true時, * ”x-forwarded-proto” header 將被使用。當設定為false時,所有headers將被忽略。當該屬性沒有被設定時,將使用Express的trust proxy。 * saveUninitialized - 強制將未初始化的session存儲。當新建了一個session且未設定屬性或值時,它就處于未初始化狀態。在設定一個cookie前,這對于登陸驗證,減輕服務端存儲壓力,權限控制是有幫助的。(默認:true) * unset - 控制req.session是否取消(例如通過 delete,或者將它的值設置為null)。這可以使session保持存儲 * 狀態但忽略修改或刪除的請求(默認:keep) <br> ### req.session 要存儲或訪問會話數據,只需使用請求屬性req.session,該屬性由store(通常)序列化為JSON,因此嵌套對象通常很好。 ~~~ // Use the session middleware app.use(session({ secret: 'keyboard cat', cookie: { maxAge: 60000 }})) // Access the session as req.session app.get('/', function(req, res, next) { if (req.session.views) { req.session.views++ res.setHeader('Content-Type', 'text/html') res.write('<p>views: ' + req.session.views + '</p>') res.write('<p>expires in: ' + (req.session.cookie.maxAge / 1000) + 's</p>') res.end() } else { req.session.views = 1 res.end('welcome to the session demo. refresh!') } }) ~~~ <br> ### Session.regenerate(callback) 要重新生成session,只需調用該方法即可。 完成后,將在req.session初始化新的SID和Session實例,并將調用回調。 ~~~ req.session.regenerate(function(err) { // will have a new session here }) ~~~ <br> ### Session.destroy(callback) 銷毀session并取消設置req.session屬性。 完成后,將調用回調。 ~~~ req.session.destroy(function(err) { // cannot access session here }) ~~~ <br> ### Session.reload(callback) 從存儲重新加載session數據并重新填充req.session對象。 完成后,將調用回調。 ~~~ req.session.reload(function(err) { // session updated }) ~~~ <br> ### Session.save(callback) 將會話保存回store,用內存中的內容替換store中的內容(盡管store可能會做其他事情 - 請參閱store的文檔以了解確切的行為)。 如果session數據已被更改,則在HTTP響應結束時會自動調用此方法(盡管可以使用中間件構造函數中的各種選項更改此行為)。 因此,通常不需要調用此方法。 在某些情況下,調用此方法很有用,例如,重定向,長期請求或WebSockets。 ~~~ req.session.save(function(err) { // session saved }) ~~~ <br> ### Session.touch() 更新.maxAge屬性。 通常這不需要調用,因為session中間件為您執行此操作。 <br> ### req.session.id 每個會話都有一個與之關聯的唯一ID。 此屬性是req.sessionID的別名,無法修改。 <br> ### req.session.cookie 每個session都附帶一個唯一的cookie對象。 這允許您更改每個訪問者的會話cookie。 例如,我們可以將req.session.cookie.expires設置為false,以使cookie僅在用戶代理的持續時間內保留。 <br> ### Cookie.maxAge `req.session.cookie.maxAge` 將返回剩余的時間(以毫秒為單位),我們也可以重新分配一個新值來適當調整.expires屬性。 以下幾乎是等效的 ~~~ var hour = 3600000 req.session.cookie.expires = new Date(Date.now() + hour) req.session.cookie.maxAge = hour ~~~ 例如,當maxAge設置為60000(一分鐘),并且經過30秒后,它將返回30000,直到當前請求完成,此時調用req.session.touch()將req.session.maxAge重置為其初始值。 ~~~ req.session.cookie.maxAge // => 30000 ~~~ <br> ### req.sessionID 要獲取已加載session的ID,請訪問請求屬性req.sessionID。 這只是在加載/創建session時設置的只讀值。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看