【问题标题】:Restrict certain pages in Django-CMS限制 Django-CMS 中的某些页面
【发布时间】:2015-09-08 09:17:32
【问题描述】:

免责声明:我也在Google+ 上问过这个问题,但我不确定社区的活跃程度

我正在为 Django CMS 的权限而苦苦挣扎,文档对我来说仍然不清楚。 我有以下要求:

  • 所有 CMS 页面都应仅供经过身份验证的用户使用
  • 只允许员工编辑
  • 某些页面应该只对特定群体可见

我找不到实现这一目标的方法。您能否指出正确的设置组合? 以下是一些更具体的问题:

  • 页面权限表单中的“需要登录”与您可以在页面上设置的其他权限有何关系?
  • 如果为“this and all children”设置了查看限制,如何在子页面上删除它?
  • 为什么CMS_PUBLIC_FOR 没有“Authenticated users”的值
  • 有没有一种方法可以将所有 CMS 页面的查看权限只限于经过身份验证的用户,而不受特定组的限制?

如果有人能提供一些提示,那就太好了。 谢谢!

【问题讨论】:

  • 我记得,默认情况下,编辑只对员工可用。当您说“某些页面应该只对特定组可见”时,您是指实际的 Django Group 还是您在一般意义上使用组?你应该澄清你的意思是什么类型的群体。
  • 是的,我的意思是一个 django 组。

标签: python django django-cms


【解决方案1】:

我现在自己找到了解决方案:

首先我编写了一个自定义中间件,它将所有对 Django CMS 页面的请求重定向到登录。然后,我删除了所有组的“可以查看页面”权限以及编外人员的所有全局权限。

最后,我删除了页面根目录上的所有查看限制,并仅在应该限制的特定页面上设置它们。

如果您对 Django CMS 权限的更多发现感兴趣:我在这里写了一些关于它的想法:http://blog.webrunners.de/2015/09/08/django-cms-permission-pitfalls/

【讨论】:

  • 不错的文章。我建议通过指向您的博客文章的链接为 github 问题添加可能的改进,并查看人们的想法。 github.com/divio/django-cms/issues
  • 谢谢 - 好点,你说得对,我会在那里提出一些问题
  • 链接失效了——有没有可能它在其他地方仍然可用?谢谢!
猜你喜欢
  • 2017-10-09
  • 1970-01-01
  • 1970-01-01
  • 2011-12-02
  • 1970-01-01
  • 2017-01-26
  • 2012-10-13
  • 1970-01-01
  • 2022-11-26
相关资源
最近更新 更多