国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

Express + Session 實現登錄驗證功能

2024-05-06 15:27:01
字體:
來源:轉載
供稿:網友

1. 寫在前面

當我們登錄了一個網站,在沒有退出登錄的情況下,我們關閉了這個網站 ,過一段時間,再次打開這個網站,依然還會是登錄狀態。這是因為,當我們登錄了一個網站,服務器會保存我們的登錄狀態,直到我們退出登錄,或者保存的登錄狀態過期。那服務器是通過什么存儲我們的登錄狀態的呢? 答案就是 Session ,服務通過 Session 能夠記錄每個客戶端連接的狀態。關于 Session 的原理,在這就不多說了,本文主要介紹在 Express 框架中,如何使用 Session 來實現用戶登錄身份驗證。

2. 環境配置

在Node 環境中, 并沒有集成 Express 和 Session 的庫,因此需要進行安裝,首先進入建立一個項目目錄,然后在項目根目錄中,利用下面命令安裝四個模塊。

1) Express

該模塊能夠讓我們快速的搭建一個 Web 開發框架。

2) body-parser

該模塊是 Express 模塊的中間件,方便我們解析瀏覽器發送來的 body 數據。

3) express-session

該模塊也是 Express 模塊中間件,方便我們處理客戶端的 session。

4) ejs

該模塊是一個渲染引擎。 方便我們將后臺變量數據綁定到前臺頁面上。

安裝如下:

npm install express --savenpm install body-parser --savenpm install express-session --savenpm install ejs --save

3. 登錄與驗證

Session 能夠標記客戶端在服務器上的狀態。利用這一點,我們能夠實現客戶端的登錄驗證。Session 登錄驗證的流程大致為:客戶端若在未登錄的狀態下請求主頁,那么服務器將該請求重定向到登錄頁面;客戶端在登錄后,服務器需要記錄保存該客戶端的登錄狀態,并給予一個活動期限,這樣下一次服務器請求主頁的時候,就能夠判斷該客戶端的登錄狀態,若登錄狀態有效,直接返回客戶端需要的頁面,否則重定向到登錄頁面。

對于 Session 的過期時間,如果沒有設置 Session 的過期時間,服務器會根據自己配置中默認有效期,將長期不與服務器交互的 Session 進行刪除。

下面貼出實例代碼,界面比較簡單,服務器后臺代碼注釋寫的很清楚,因此就不再進行說明了。

項目的目錄結構如下:

登錄頁面(login.html) 代碼如下:

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>Title</title>  <style type="text/css">  </style></head><body>  <form action="/login" method="POST">    用戶名: <input type="text" name="username"/> <br>    密碼: <input type="password" name="pwd"/>    <input type="submit" value="Submit"/>  </form></body></html>

主頁(home.html)代碼如下:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 延安市| 苍梧县| 淄博市| 甘泉县| 长兴县| 镇坪县| 西青区| 荔波县| 庆阳市| 五家渠市| 榆树市| 辉县市| 洛扎县| 姜堰市| 绥阳县| 昌都县| 固始县| 谷城县| 繁昌县| 桑植县| 浦北县| 桦川县| 石家庄市| 建平县| 祥云县| 九台市| 密云县| 黄冈市| 奉贤区| 元阳县| 寿阳县| 东方市| 平和县| 根河市| 龙胜| 葵青区| 德昌县| 乌兰察布市| 三都| 凤山市| 前郭尔|