我正在尝试找到针对特定问题的简单解决方案,这是一种允许我网站上的博主能够控制各个帖子的权限的方法。因此,他们可以决定是为所有访问者显示他们的帖子,还是仅为经过身份验证的用户显示。
到目前为止,我找到的最接近的模块解决方案是Node Access module。它非常接近,但它对我来说并不是很好,因为它为内容类型创建了一个新的“grant”选项卡,然后显示了具有太多权限选项的复选框(允许角色查看,编辑和删除),我只想显示视图选项,我需要它位于内容编辑/创建页面上,而不是单独的选项卡中。
除非我能找到另一种简单的解决方案,否则我将不得不在博客模块中添加一个黑客攻击。我想不出有任何其他方法可以做到。
有什么想法吗?
答案 0 :(得分:4)
如果您想避免编码并保持简单,可以想到几种解决方案。
TAC Lite允许您将词汇表与访问控制架构相关联。每个术语可以与特定用户或用户角色的不同视图/编辑访问权限相关联。
在这种情况下,您需要在配置的词汇表中使用单个术语。设置它以便设置此术语(“限制访问”)时,仅限制对经过身份验证的用户的访问。
TAC_lite的优势在于可以灵活地构建您的访问模型,因为新的需求显示出来 - 例如让“高级订阅者”获得对更受限制的内容的访问权。
Content Access允许您按内容类型设置访问控制规则,并按节点覆盖。我无法与用户界面说话,因为我没有使用此模式。
答案 1 :(得分:0)
如果Graysides(好)建议不合适,您可以自行完成,而无需通过在自定义模块中实施hook_nodeapi()
和hook_form_alter()
来“黑客”博客模块:
hook_form_alter()
,您可以为博客节点的节点编辑表单添加表单元素(例如单选按钮),允许用户选择可见性,从而将其默认为新节点属性。< / LI>
insert
的{{1}}和update
操作中,您将再次检查新属性并相应地调整节点访问设置。请注意,此方法可能会干扰其他节点访问模块操作,因此可能需要进行一些改进。我不推荐它 - 我只是想建议一个'黑客核心'的替代品。