nodejs - 具有用户授权的CRUD

时间:2017-05-22 03:34:35

标签: node.js express

我使用nodejs + express.js完成了我的CRUD博客,但我唯一需要的是每次去'post /:id / edit'或'post / new'浏览器都要求管理员用户继续使用请求。这是为了防止任何用户在我的博客中创建帖子。

我怎样才能实现这一目标?我找不到任何关于此的内容。而且我真的不需要为用户提供CRUD,因为我将是唯一一个创建/编辑帖子的人。

由于

1 个答案:

答案 0 :(得分:0)

  • 如上述评论所述,使用passport.js创建身份验证部分。
  • 一旦你这样做,你将不得不创建一个中间件,以确保用户有权处理特定情况。由于您使用的是Node.js和Express.js,因此这部分非常简单。
假设用户想要创建帖子
  

router.get('/ post / create', authenticate.ensureUser ,function(req,   res){}

authenticate.ensureUser:是中间件。看起来像这样:

> ensureUser: function(req,res,next){
>        if(req.isAuthenticated()){
>             return next() ;
>         }else{
>             req.flash('danger','Please login.');
>             res.redirect('/login');
>         }
>     },