2015-04-05 4 views
-3

Эй, ребята, я пытаюсь сделать мою страницу с правами администратора доступной для всех пользователей, кроме тех, кого я назвал john. Что я имею в моем app.js файлеКак ограничить страницу администратора. Node.js

app.get('/admin',requireLogin, function(req, res){ 

    res.render('admin', { 
    title: 'Admin'}); 
    }); 

    function requireLogin (req, res, next) { 
    if (req.user.username ==='john') { 
     next(); 
    } else {  
     res.redirect('/login'); 
    } 
    }; 

Проблема заключается в том, что она просто не работает, я все еще может получить доступ к странице, независимо от того, кто это я войти в систему как

+0

И проблема в том, что ...? – GolezTrol

+0

отредактировал его там, проблема в том, что я все еще могу получить доступ к странице, не будучи пользователем john – jonathan

ответ

0

Очевидно, вы просто соответствие с имя пользователя, поэтому пользователь «john» может войти в систему. Лучше попробуйте добавить поле access_level в пользовательскую схему, чтобы сделать ее более гибкой.

app.get('/admin',requireLogin, function(req, res){ 

    res.render('admin', { 
    title: 'Admin'}); 
    }); 
}); 

function requireLogin (req, res, next) { 
    if (req.user.accesslevel ==='admin') { 
     next(); 
    } else {  
     res.redirect('/login'); 
    } 
}; 
Смежные вопросы