有没有办法让Django CMS页面仅对特定用户可访问?

1 投票
2 回答
2171 浏览
提问于 2025-04-15 18:16

我安装了Django CMS(http://www.django-cms.org/),感觉几乎完美。我在IRC的#django-cms群组里聊天,确认了我无法限制Django CMS中创建的页面,只让特定的人访问。

我知道有一个CMS_PERMISSIONS设置,但这个似乎只限制了管理员网站上的用户。我想要实现的是,在CMS的管理界面创建的页面,在网站上只对特定的人开放。所以在我的网站上,我会有正常的页面,比如首页、关于我们、服务、联系方式,还有一个登录区域。用户登录后,会有一些页面只能特定的人访问。有些页面对某些用户开放,其他页面对其他用户开放。

如果在正常的Django CMS安装中无法实现这个功能,那我该怎么做呢?我不是Django专家,但我想实现这个功能,不知道从哪里开始。有没有人能帮我?有没有人成功做到过这个?

2 个回答

3

在管理页面中使用“查看限制”面板。具体的说明可以在这里找到。

1

我对Django CMS不太了解,不过你可以在中间件里做这样的过滤。也就是说,你可以检查用户访问的链接,如果当前用户没有权限查看这个页面,就把他重定向到登录页面。

http://docs.djangoproject.com/en/1.1/topics/http/middleware/

撰写回答