0

因此,session当他们登录我的 Node.js 应用程序时,我存储了一个用户。我有管理员和默认用户,如果我#{session.user.role}在 Jade 模板中输出,我会得到defaultadmin出现。在我的页面上进行测试时,-if(session.user)如果没有人登录,我可以隐藏页面上的项目,用于隐藏项目,但是如何为非管理员用户隐藏项目?

我试过把,-if(session.user.role === 'default')但我得到一个错误说Cannot read property 'role' of undefined。所以这行不通,关于如何做到这一点的任何想法?

这是使用 Mongoose 的用户模式:

var User = new Schema({
  'key' : {
    unique : true,
    type : Number,
    default: getId
  },
  'username' : { type : String, 
              validate : [validatePresenceOf, 'a Username is required'],
              set : toLower,
              index : { unique : true }
              },
  'password' : String,
  'role' : String,
});
4

1 回答 1

3
- if (typeof session.user != 'undefined' && session.user.role === 'default')
于 2013-04-14T20:35:47.633 回答