全端勇士之路 Node.js 基礎學習-會員機制(4)

前言

前面已經記錄了許多會員註冊 & 登入以及判定,但是如果今天不希望讓使用者直接透過網址列跳到 user 頁面呢?那麼就要使用到 middleware

頁面管控

一般我們都不會希望使用者可以透過瀏覽器輸入特定網址列進入某頁面,雖然可以使用判斷的方式來做安全阻擋,但是有些頁面可能太過複雜,那麼就要使用 middleware (中間組件?) 來解決這個問題,首先假設我們 user 這個邏輯全部都必須經由登入才能夠使用,那麼就要修改 app.js

app.js

首先先來寫個 middleware,然後存進 check

1
2
3
4
5
6
7
// check login
var check = function(req, res, next) {
if(req.session.uid){
return next();
}
res.redirect('/login');
}

接下來寫入 users 邏輯中

1
app.use('/users',check ,usersRouter);

那麼我們就可以來嘗試看看,如果沒有登入直接輸入 localhost:3000/users/ 會發生什麼事情,不意外你不管怎麼輸入都是被打回 http://localhost:3000/login

(這邊不附上圖片了,跳轉太快…)

0%