使用Connect Roles进​​行Node.js角色授权

时间:2013-09-23 08:54:29

标签: javascript node.js express passport.js

我一直在关注Connect角色https://github.com/ForbesLindesay/connect-roles 对于我的节点js应用程序中的授权,除了这个之外,所有事情都会发生 这是上面链接

中记录的内容
user.can(action) and user.is(action)

Inside the views of an express application you may use user.can and user.is 

与req.user.can和req.user.is

等效
e.g.

<% if (user.can('impersonate')) { %>
  <button id="impersonate">Impersonate</button>
<% } %>

我试图使用它,但我非常困惑,因为在我看来(我的html页面)我如何检查特定的角色。我是否必须致电服务以便在服务器中进行检查。因为我不能像我的app.js文件那样直接使用

var user = require('connect-roles');
user.use('access private page', function (req) {
  if (req.user.role ==== 'moderator') {
    return true;
  }});
app.get('/private', user.can('access private page'), function (req, res) {
  res.render('private');
});

1 个答案:

答案 0 :(得分:0)

如果您使用的是Jade,它就像以下一样简单:

if userCan('do something')
   button#special Do Something