我正在尝试在Sitecore中创建一个可以发布内容的角色,但只能在网站的特定区域内发布。我已将标准Sitecore\Client Publishing
角色添加到我的角色中,但我无法看到如何阻止该角色发布该网站的所有区域。我查看了安全性编辑器和Access查看器,但只设置部分的写访问权限似乎影响了编辑这些部分的能力,并且对在这些部分上发布的能力没有影响。
答案 0 :(得分:9)
工作流程是处理此问题的典型方式。授予角色访问权限(这可称为“发布”)内容树某些部分的内容将是实现您所描述内容的最佳方式。将此与自动发布操作相结合,使其更加用户友好。
使用此方法时要记住的一件事是引用的项目(例如,内容可能正在使用的媒体库中的图像)。查看共享源库http://trac.sitecore.net/PublishingSpider
上的“Publishing Spider”模块编辑:更新
我最近在web.config中发现了这个设置:“Publishing.CheckSecurity”。如果设置为true,则此设置将仅在用户对项目进行读取+写入时发布项目,并且仅在用户具有删除权限时才从Web数据库中删除项目。
答案 1 :(得分:2)
我曾经遇到类似的情况,我在每个部分创建了角色,只对该部分进行了读写操作,没有其他地方(比如说'编辑部分1')和另一个只有该部分发布权限的角色(让说'出版商第1部分')。然后将“编辑器部分1”角色添加到“发布商部分1”角色,该角色为您提供仅发布特定部分的角色。 您不需要多个工作流程,具有多个角色的相同工作流程也可以实现此目标
答案 2 :(得分:1)
回答这个问题是将 Publishing.CheckSecurity 设置为true
您需要在网络
中找到此代码<!-- PUBLISHING SECURITY
Check security rights when publishing?
When CheckSecurity=true, Read rights are required for all source items. When it is
determined that an item should be updated or created in the target database,
Write right is required on the source item. If it is determined that the item
should be deleted from target database, Delete right is required on the target item.
In summary, only the Read, Write and Delete rights are used. All other rights are ignored.
Default value: false
-->
<setting name="Publishing.CheckSecurity" value="false" />
设置 value =“true”
但是,您必须严格控制安全性,并正确分配用户角色。失败 这样你就会体验到错误的出版。
希望有所帮助