2013-01-07 6 views

Trả lời

61

Mặc dù không được ghi rõ ở bất cứ nơi nào dễ dàng tìm thấy, bạn có thể thấy các cờ isAuthenticatedisUnauthenticated được đặt trong mã Hộ chiếu tại https://github.com/jaredhanson/passport/blob/a892b9dc54dce34b7170ad5d73d8ccfba87f4fcf/lib/passport/http/request.js#L74.

ensureAuthenticated là không chính thức, nhưng có thể được thực hiện thông qua như sau:

function ensureAuthenticated(req, res, next) { 
    if (req.isAuthenticated()) 
    return next(); 
    else 
    // Return error content: res.jsonp(...) or redirect: res.redirect('/login') 
} 

app.get('/account', ensureAuthenticated, function(req, res) { 
    // Do something with user via req.user 
}); 
+1

Ví dụ trên có một vài vấn đề. Dòng 3 phải là 'if (req.isAuthenticated())' và dòng 9 phải là '..., EnsureAuthenticated, ...' Thanh toán phần sau để có ví dụ tốt hơn. https://github.com/jaredhanson/passport-local/blob/master/examples/express3-mongoose/app.js – chris

+1

@chris Cảm ơn bạn đã lưu ý - Tôi đã sửa các vấn đề ở trên. –

+1

Tôi phải viết "return next()" để làm việc này. – Elisabeth