【问题标题】:How to configure Django CMS view page permission?如何配置 Django CMS 查看页面权限?
【发布时间】:2023-03-31 10:24:01
【问题描述】:

大家,

一段时间以来,我一直在寻找一种解决方案,让一组用户看到一个页面及其所有后代,并让另一组用户看到另一个页面及其所有后代。 2 组不能看到彼此的页面。

我把 CMS_PERMISSION = True 和 CMS_PUBLIC_FOR = 'all' 放在 settings.py 文件中,每个人都可以看到每一页。我所能做的就是用高级设置配置一些页面,选中“需要登录”复选框,一些页面只能由连接的用户看到。

另外,我在设置中尝试了 CMS_PUBLIC_FOR = 'staff',并将 'can_view' 权限授予某些用户。但是,这会将所有公共页面隐藏给未连接的用户。 我需要的如下:

例如:我有 4 个页面和 2 个用户组。

Page1、Page2 对匿名用户和所有连接的用户可见。

Page3 仅对 group1 中的已连接用户可见。

Page4 仅对 group2 中的已连接用户可见。

你能帮我解决这个问题吗?提前致谢。

【问题讨论】:

  • 您找到解决方案了吗?我在我认识的每个论坛上都看到了你的帖子,但没有真正的答案!

标签: django permissions django-cms


【解决方案1】:

也许我没有正确回答问题,但我会尝试

CMS_PERMISSION = True

setup.py 文件中。

  • 页面 1 和 2 在“权限”面板中的“需要登录”未选中
  • 第 3 页和第 4 页有“需要登录”选中加:
  • 第 3 页需要“查看限制”中 group1 的条目。
  • 第 4 页需要“查看限制”中 group2 的条目。

现在,问题是未登录的用户将看不到页面 3 或 4。也不会出现在菜单等中。要使页面 3 和 4 可见,用户需要登录页面。它可能只是第 5 页,选中了“需要登录”,但没有查看限制。

更直观一点的方法是有一个登录页面,不过,它使用应用程序挂钩到自定义视图,根据登录用户的组重定向到页面 3 或 4。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-28
    • 2019-09-09
    • 1970-01-01
    • 2015-04-01
    • 2016-04-27
    • 2020-04-29
    • 1970-01-01
    相关资源
    最近更新 更多