我已經看到了一些關於這個問題的問題,但是對於Angular和Node都是新手,我正在努力尋找合適的解決方案。如何在NodeJS驗證後使用AngularJS訪問用戶信息?
我有這個代碼,它工作了登錄,我只能通過認證後,可以訪問我的網頁:
router.post('/login',
passport.authenticate('local',
{
successRedirect: '/',
failureRedirect: '/login',
failureFlash: false,
successFlash: false
}
));
router.all('*', ensureAuthenticated);
function ensureAuthenticated(req, res, next) {
console.log("in ensureAuth", req.isAuthenticated());
console.log("session data", req.session);
console.log("user data", req.user);
if (req.isAuthenticated())
{
return next();
}
res.redirect('/login');
}
當地Passport身份驗證我有回報覈實後的對象,如果用戶存在,並且允許登錄,因此:
return passportDone(null, result.rows[0]);
with result.rows [0]是我想要的用戶信息。
我在前端有一個簡單的ng-submit表單,它在各自的字段(用戶名和密碼)中調用「login(憑證)」,憑證由ng-model設置。
我的問題是如何返回我想要的所有信息,例如user_role,名稱和內容,因此我可以在前端以{{user.name}}的形式顯示它?
信息需要保持刷新後,所以$範圍不是我讀過的選項。
創建服務管理的登錄請求,並在該服務中存儲響應所以它是在整個應用程序的角度提供。這裏有很多教程 – charlietfl
我的問題是身份驗證已經用護照完成。我不太瞭解請求的工作原理。我發現了一個非常好的角度部分示例,但是在登錄時,它期望req對象的內容不是節點應用程序返回的內容。節點應用程序在req.data中返回索引頁的html代碼... – Forget