0

真的很傻 - 但我似乎还没有找到解决这个问题的方法......

我在 Azure 中安装了 Orchard CMS - 像魅力一样工作,添加了几页,到处玩,观看了 Pluralsight “Orchard Fundamentals”课程 - 似乎很有意义。

但现在我被困住了——我正在尝试创建一个面向公众的网站,其中一些页面应该对包括匿名用户在内的任何访问者可见,当然有些页面应该只对经过身份验证的用户可见。

好的,所以我知道这些都是在发挥作用的层次default——对于每个人,authenticated对于经过身份验证的用户来说——很棒。但是我如何限制Content在我的仪表板中出现的给定页面,以便它只显示在给定图层上(例如,仅在authenticated图层上 - 不是default每个人的图层)

似乎是一项简单的任务 - 但我似乎无法找到方法(任何文档或教程视频也没有真正帮助:-()

有接盘侠吗?

4

2 回答 2

4

图层仅适用于小部件。为了限制对内容项(例如页面)的访问,您需要的是内容项权限。这是默认情况下未启用的单独功能。

启用内容项权限模块

  1. 在管理面板中转到Modules

  2. 开始在选项卡左上角permissions的框中输入内容。filter

  3. Content Item Permissions应显示在列表中,单击其Enable框的右上角

这将重新加载页面,您应该会在顶部看到一条消息Content Item Permissions was enabled

为您的页面启用此功能

Orchard CMS 使用一个概念,您可以将组件粘合在一起,但是您希望它们组合在一起,以便它们支持您想要的功能。页面的概念只是页面标题、url、文本、设置发布日期等部分的集合。

默认情况下,简单地启用模块没有任何区别。您需要将该功能添加到页面内容中。为此,您只需要:

  1. 在管理面板中转到Content Definition

  2. 查找/过滤Page内容类型并点击Edit右侧

  3. 向下滚动Parts并单击Add Parts

  4. 在列表中搜索Content Permissions,勾选复选框并按Save页面底部的

  5. 您将返回Page内容定义屏幕。现在,您将在Parts列表底部看到一个Content Permissions条目。如果您想为新页面设置默认值,请单击>标题左侧的小箭头,面板将展开。

如果您想将其添加到其他内容类型,例如博客文章,那么您可以重复此过程并将其添加到您想要的任何内容类型。

使单个页面密码受保护

现在该功能已启用并附加到您的Page内容类型,您可以按照以下步骤创建新的私人页面:

  1. 在管理面板中单击侧边栏中的New>Page

  2. 给页面一些基本的内容

  3. 向下滚动到页面末尾并勾选标记为的复选框Enable Content Item access control

  4. 假设您想让匿名用户无法看到该页面。在该View this item部分下,只需勾选除Anonymous(列表中的第二个)之外的所有角色

  5. 发布页面

  6. 打开一个新的隐身/私人浏览器选项卡(因此该网站认为您没有登录)并访问您刚刚发布的新页面。

    您将被重定向到类似于此页面的错误屏幕:

    无法查看内容示例截图

于 2015-08-24T04:06:01.553 回答
1

您将需要启用内容项权限功能,以便将单个内容项限制为某些权限。使用图层,您只能在满足图层规则时使小部件出现在主题中定义的不同区域中。

要启用内容项权限功能,请转到您的管理仪表板并单击左侧的“模块”。在模块页面上,在过滤器文本框中输入“内容项权限”以帮助查找该功能。点击右上角功能的启用按钮。现在将启用该功能。

现在您已启用该功能,您需要将 Content Permissions 部分添加到您的内容定义之一。为此,请单击管理仪表板左侧的“内容定义”。找到您要添加权限的内容类型(例如,页面),然后单击编辑按钮。单击添加部件按钮。您将看到可以添加到内容类型的部分列表。选中内容权限旁边的复选框,然后单击保存。

接下来,在管理仪表板中,转到您刚刚添加内容权限部分的内容类型的内容项之一。您将在底部看到一个新复选框以启用内容项访问控制。单击复选框,您将能够为该内容项设置不同的角色。

编辑:看起来我写回复花了太长时间。rtpHarry 的编辑答案非常相似,但格式更好。

于 2015-08-24T21:32:46.113 回答