如果用户是“ 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中有选择地隐藏列表或字段。