Grav-plugin-admin: 更改和删除页面的权限

创建于 2016-04-21  ·  16评论  ·  资料来源: getgrav/grav-plugin-admin

如果我们可以锁定一些页面,让用户只能编辑特定页面,而不是整个网站,那就太好了。 也许是用户组之上的东西?

例如,可能有默认权限,可能在user/config/admin/admin.yaml中(或者在蓝图中可能更有意义,它允许根据模板设置此配置):

# Only admins can delete pages
permissions:
  pages:
    write: [admin, editor]
    delete: [admin]

每个页面中的 YAML 配置可以覆盖这些默认设置:

---
title: Awesome page
permissions:
  write: [admin] # Limit changes to the admin group in the admin plugin
  delete: [] # Protect this page from deletion from the admin plugin

---

锁定页面的用例

  • 如果您的站点结构基于几个“容器”页面(博客、section1、section2...),并且您希望通过锁定 1 级页面来避免不小心删除一个部分中的_所有内容_。
  • 如果您想保护错误页面或其他“技术”页面。
  • 一个商业交流网站,一个编辑或一组编辑应该能够创建新的博客文章,可能修改根“博客”页面但不能删除它,并且不应该能够修改(更不用说删除)其他部分的其他页面(或主页)。

    权限类型

我认为一个简单的实现可以限制为 2 个权限:

  • 删除

排除这些其他常见的权限类型(不太有用或更难管理):

  • 阅读(向管理员用户隐藏内容的需求似乎很低)
  • 页面所有权(写入/删除您的“自己的”页面)-> 增加了很大程度的复杂性
  • addchild(控制用户组是否可以在页面内添加子页面)-> 也增加了一些复杂性
1.10 enhancement fixed in repo

最有用的评论

这里有一些好主意。 实际上,我已经有一个关于如何提高权限的想法的注释。 我会确保这张票也被考虑在内。 谢谢!

所有16条评论

这里有一些好主意。 实际上,我已经有一个关于如何提高权限的想法的注释。 我会确保这张票也被考虑在内。 谢谢!

@rhukster嘿,只是想知道我错过的那个主题是否有任何进展?

对于特定项目,我需要对文件夹的某些页面或页面具有基于组的编辑权限。 这是唯一可能阻止我们使用 Grav 的要求😞

如果您能指出正确的方向并对此进行研究,那将非常有帮助。
非常感谢您的帮助。

最想要的功能!

我有学生想在我们学校的网站上工作。 现在他们只是将信息传递给我以在博客上发布; 能够让他们访问特定页面会很有帮助,这样我就不必担心学生会意外或故意编辑首页或其他重要内容。

谢谢 - 希望此功能正在取得进展!

我们什么时候可以考虑这个功能。 我希望它会出现在下一个版本中。 :-))

@brianjschott您可以使用 SimpleMDE 插件签出 Editable并测试它是否适合您的目的。 最新版本支持使用 Grav 用户和角色系统的基于页面的权限。 因此,您也可以创建组。 编辑仅限于页面和前端。

我必须向非技术用户授予编辑权限,这肯定会帮助我晚上睡觉! :+1:

这方面有什么进展吗? 最想要的功能。

我目前正在处理 Flex Pages 支持,并且我已经拥有删除页面的权限(尽管现在没有所有者支持)。

这里有一些好主意。 实际上,我已经有一个关于如何提高权限的想法的注释。 我会确保这张票也被考虑在内。 谢谢!

@rhukster您的评论已经过去了 3 年。 我的一些客户真的很想要这个功能,但我们作为 Grav 的开发者仍然没有关于它的信息。

@mahagr什么是 Flex Pages? 它是关于 css flexbox 还是其他的东西? 请提供更多信息😉

Flex Pages 基于 Grav Flex Objects,这只是类的一个很酷的名称(您可以在Grav\Framework\Flex中找到它们。:)

简而言之,Flex Objects 将取代 Flex Directory 插件; 核心类在 Grav 本身中,但对于 CRUD,您将需要 Flex Objects 插件,该插件将提供列表和编辑视图,可在管理和前端中使用 虽然话虽如此,但我不确定它是否会随工作前端编辑或者如果你需要做一些自定义类/路由来让它工作。 无论如何,这个插件只需要管理任务,Flex 本身没有它运行。

Flex Pages 实现了当前的 Grav Pages,但基于这些新的 Flex 类。 与旧解决方案相比,使用 Flex 有一些好处:

  • 它保留所有对象的索引,并知道哪些对象已更新以及何时更新
  • 由于索引,对象仅按需加载
  • 它具有用于集合搜索、方法调用甚至渲染的内置缓存
  • 缓存是基于对象的,因此更新单个项目不会使其他项目的缓存失效
  • 集合比旧页面强大得多; 你几乎可以搜索任何东西
  • FlexPage是独立的,比Page更容易使用
  • Flex 允许您根据需要轻松自定义页面
  • 它允许您创建自己的管理部分,例如博客文章 - 与其他页面分开
  • ...

还有更多好处,但我们已经在我们的一些项目中使用了这些好处,每个人都对此感到非常兴奋。 我们在 4000 页的网站上轻松获得了 10 倍的性能提升。 我们可以创建自定义类型,甚至是与常规页面分开存储并位于 admin 内的单独部分中的页面。 用户可以通过填写简单的表格等来创建自己的页面......

非常感谢@mahagr 分享此信息👍在您提到的所有内容中(听起来都很棒!),我最感兴趣的是更高级的页面集合、页面自定义和针对不同页面类型的单独管理部分。 请添加我对更精细页面权限的投票,这在 Grav 的教育场景中非常有价值!

按照这个帖子。 现在非常需要这个。

60153027-8420fb80-9815-11e9-831b-7a32f4f48f7b

我也非常感谢这个功能。 与此开放增强问题相关。

这已经在 Grav 1.7 / Admin 1.10 中实现

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

WilliamMiceli picture WilliamMiceli  ·  4评论

fourroses666 picture fourroses666  ·  4评论

darkroastcreative picture darkroastcreative  ·  4评论

wildafrica picture wildafrica  ·  4评论

jundiya picture jundiya  ·  4评论