2

我有两个不同的用户权限级别:在我的 lib\modules\apostrophe-users\index.js 定义中设置了编辑器和发布者(非管理员用户):

groups: [
{
  title: 'editor',
  permissions: [ 'edit-apostrophe-blog' ]
},
{
  title: 'publisher',
  permissions: [ 'edit-apostrophe-blog' ]
},
{
  title: 'admin',
  permissions: [ 'admin' ]
}
],

我只想允许“发布者”组中的用户查看和编辑文章>元“已发布”状态(是或否),以及查看和使用“垃圾箱”项目(编辑者无法发布或删除文章)。

文档在这里显示了 apos.permissions.can 方法,http: //apostrophecms.org/docs/tutorials/intermediate/permissions.html ,但是有没有更简单的方法来根据用户的权限显示或隐藏这些管理元素/组级?谢谢。

4

1 回答 1

3

如你所知,我是 P'unk Avenue 的 Apostrophe 的首席开发人员。

Apostrophe 0.5 有一个完整的“工作流程”模式,将发布权限与编辑权限分开。2.x 目前没有,但很可能在不久的将来会有这样的功能,因为我们必然会遇到我们自己的客户的需求。

但是,有一项功能允许您对片段类型架构中的任何给定字段要求特定权限。您可以使用它来向没有特定权限的人隐藏“已发布”选项,例如“admin-apostrophe-blog”。

apostrophe-blog在项目级别配置模块时,您可能会说:

// in lib/modules/apostrophe-blog/index.js
module.exports = {
  addFields: [
    {
      type: 'boolean',
      def: false,
      name: 'published',
      label: 'Published',
      permission: 'admin-apostrophe-blog'
    }
  ]
};

在这里,我使用addFields新属性重新声明该字段。

于 2016-10-08T13:49:10.463 回答