首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Stormpath-Express中的帐户获取组名

从Stormpath-Express中的帐户获取组名
EN

Stack Overflow用户
提问于 2015-06-28 16:18:24
回答 2查看 377关注 0票数 3

我正在为一家配置了许多组的公司制作一个Stormpath-Express应用程序。每个组只能看到页面上的某些元素(即。管理员可以删除和批准帖子,用户只能创建和编辑它们)。是否可以使用Jade创建一个条件,通过获取用户的组成员资格来显示组件?

这里有一个粗略的例子来说明我的意思:

代码语言:javascript
复制
if user.admin === true
    a.btn.submit Approve Post
else 
    p Please wait for management to approve

我注意到我可以使用user.fullNameuser.email等,但不能使用user.directory

我还通过服务器端使用getDirectory方法进行了尝试。

代码语言:javascript
复制
client.getDirectory(href, function(err, dir) {
    console.log(dir);
});

然而,这是来自Node文档,当应用到项目时会中断。在这方面的任何帮助都是非常感谢的,因为我在最后期限!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-17 12:00:45

多亏了rdegges的回答,我不得不用1.0.5版本的快递-stormpath进行修改,因为groups属性用于存储uri以检索组.

代码语言:javascript
复制
app.get('/page', stormpath.loginRequired, function(req, res) {
  req.user.groupsNames = [];

  req.user.getGroups(function(err, groups) {
    if (err) return next(err);

    groups.each(function(group, cb) {
      req.user.groupsNames.push(group.name);
      cb();
    }, function(err) {
      if (err) return next(err);
      return res.render('myview');
    });
  });
});

玉石模板看起来像..。

代码语言:javascript
复制
- if (user.groupNames.indexOf('admin') > -1)
  a.btn.submit Approve Post
- else
  p Please wait for management to approve
票数 2
EN

Stack Overflow用户

发布于 2015-06-28 20:41:54

嘿,我是快速路图书馆的作者,我想我应该跳到这里来。

实际上,我将在不久的将来添加一些新的方法来实现这一点--但现在,您可以做的是将用户组预加载到一个数组中,然后检查成员资格。下面是一个例子:

代码语言:javascript
复制
app.get('/page', stormpath.loginRequired, function(req, res) {
  req.user.groups = [];

  req.user.getGroups(function(err, groups) {
    if (err) return next(err);

    groups.each(function(group, cb) {
      req.user.groups.push(group);
      cb();
    }, function(err) {
      if (err) return next(err);
      return res.render('myview');
    });
  });
});

既然已经定义了req.user.groups,那么就可以在Jade模板中使用它了,如下所示:

代码语言:javascript
复制
- if (user.groups.indexOf('admin') > -1)
  a.btn.submit Approve Post
- else
  p Please wait for management to approve
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31101983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档