我有一個Node.js應用程序,其中我使用了Yeoman腳手架來處理Angular。我也使用ExpressJS作爲服務器端。Angularjs,Expressjs和passportjs用於在服務器端進行身份驗證檢查
所以基本上我的應用程序的結構是:
app
-->views
--> more files
server.js
結構比這更重,但是這是爲了保持它的簡單。
基本上我在服務器端使用PassportJS進行身份驗證。路由目前正在通過AngularJS路由參數進行。
我所遇到的一個問題,現在我需要通過一箇中間件的方法來進行身份驗證:
function ensureAuthenticated(req, res, next) {
console.log('authenticate=' + req.isAuthenticated());
if (req.isAuthenticated()) {
return next();
}
res.redirect('/')
}
我已創建在服務器端的app.get
檢查,如果用戶試圖去的沒有登錄的管理頁面:
app.get('/admin', ensureAuthenticated,
function(req, res){
console.log('get admin' + req.params);
res.sendfile(__dirname + '/app/views/admin/users.html');
});
但它永遠不會去的方法。我究竟做錯了什麼?
任何建議將是偉大的。
嗨,認證工程,如果我只是把/管理但我的網址是localhost:8888 /#/管理。它從來沒有擊中路線的快遞,如果我輸入的網址如圖所示 – tjhack
localhost:8888 /#/ admin是角度領域,所以你應該改變你的邏輯我認爲即把你的看法在管理路徑 – Whisher
我現在有一個進一步的問題是當我路由到管理頁面時,我按瀏覽器刷新,它試圖呈現頁面,但它表明沒有默認引擎被指定。我只是使用HTML網頁? – tjhack