如何添加新用户?

时间:2019-06-16 20:25:40

标签: javascript node.js express keystonejs

如果用户是“ this.isAdmin”,我想在管理界面中显示“用户”列表, 如果没有,则不应显示“用户”列表。 ==>只有管理员有权访问用户列表

应该如何实现?

var User = new keystone.List('User', {

  // nodelete prevents people deleting the demo admin user
  nodelete: true
 // isAdmin: true
})

User.add(
  {
    name: { type: Types.Name, required: true, index: true },
    email: {
      type: Types.Email,
      initial: true,
      required: true,
      index: true,
      unique: true
    },
    password: { type: Types.Password, initial: true, required: false }
  },
  'Permissions',
  {
isProtected: { type: Boolean, noedit: true },
isAdmin: { type: Boolean, label: 'Can access Keystone', index: true }
  }
 )

// Provide access to Keystone
User.schema.virtual('canAccessKeystone').get(function() {
  return true
})

 User.relationship({ ref: 'Post', path: 'posts', refPath: 'author' })

User.schema.methods.wasActive = function() {
  this.lastActiveOn = new Date()
 return this
}

因此,当超级管理员登录时,他可以看到用户标签。但是只有他。其他所有人都可以登录,但不能创建新帐户。

编辑:

只需向您提供我所发现的信息。此版本的KeystoneJS并非旨在解决此问题。基于用户.isAdmin,我们可以阻止任何人连接到Admin UI,但是我们无法在Admin Ui中有选择地隐藏列表或字段。

0 个答案:

没有答案