[英]User groups with Passport, Node.js
在這里尋找一些指針。
我想創建一個帶有登錄表單的頁面作為登錄頁面,登錄時將帶到您自己的儀表板。 但是,如果您以具有管理員權限的用戶身份登錄,他們將被帶到管理控制台。
做到這一點的最佳方法是什么? 只是有一些中間件檢查他們是否是管理員?
感謝邁爾斯
login.js
文件:
var findUser = function(req, res, next) {
var user = User.find({email:req.body.email},function(err,user){
if (!user) {
res.locals.error = 'No such account exists.'
return res.render('frontend/login')
}
next()
});
}
var authenticate = function(req, res, next) {
passport.authenticate('local', function(err, user, info) {
if (err || !user) {
console.log('ATUH ERROR');
console.log(err , user,info)
res.locals.error = 'Invalid login credentials provided.'
return res.render('frontend/login')
}
req.logIn(user, function(err2) {
if (err2) {
console.log('LOGIN TIME ERROR')
res.locals.error = 'Internal system error while logging in.'
return res.render('frontend/login')
}
console.log('user redirect');
if(user.role=='user'){
res.redirect('/user/dashboard');
}
if(user.role=='admin'){
res.redirect('/admin/dashboard');
}
})
})(req, res, next)
}
module.exports = [findUser, authenticate]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.