Sitecore安全性第1部分:自定义角色和权限
安全性是任何Sitecore构建的重要组成部分。它可确保您的内容作者具有适当级别的访问权限,以管理他们拥有的内容,并授予他们访问不同Sitecore功能的权限。
Sitecore附带了许多提供功能访问的开箱即用角色。对于本文,我们将忽略开箱即用的角色以及对特定Sitecore功能的权限。相反,我们将专注于您通常需要创建自己的自定义角色并实现自定义安全性的区域,或者更具体地说,内容作者编辑内容所需的权限。
- 对您尝试编辑的内容项的写访问权。这些项目是您站点中的页面,组件的数据源,媒体库中的媒体等。
- 语言写入您正在进行编辑的语言的访问权限
- 工作流程写入对当前项目的工作流程状态的访问权限

如果内容作者缺少任何这些权限,则他们无法编辑项目。
作为最佳实践,我们将树的每个区域分别保护到我们创建的自定义角色。我们创建了一个内容项角色,一个语言访问角色(如果有多种语言在运行)和一个工作流访问角色。通过保持角色分离而不是保护单个角色的所有权限,我们可以创建一个非常精细的安全实现,尤其是随着构建复杂性的增加。例如,当您推出其他网站或开始将您的单个网站保护到所有权区域时,您可以创建其他内容项角色,当您开始支持站点中的多种语言时,您可以创建其他语言角色,并且随着工作流中状态的数量的增加,您可以创建其他工作流角色。
这在实践中看起来像什么?这里是一个例子,说明使用上面的图表作为基础,对应于三个支柱中每个支柱的示例角色的实际实现可能是什么样的:

在这种情况下,假设您的内容树区域是安全的,以便只有属于人力资源部门的人员才能编辑内容。您可能需要更改编辑权限的分配以满足以下方案:
- 场景#1:人力资源,仅限法语,在线编辑
- 场景#2:人力资源,包括法语和英语,Web Publisher
- 场景#3:人力资源,仅限英语,Web Publisher
以下是使用上述角色实现这些方案(以及更多)的方法,同时保留编辑内容所需的所有先决条件:
场景#1

场景#2

场景#3

如场景#2所示,您甚至可以从单个支柱添加多个角色来扩展该区域的权限。在这种情况下,我们通过使内容作者成为Content Author English和Content Author French角色的成员,为内容作者授予了对这两种语言的权限。
我应该补充一点,虽然这种方法提供了精细的安全实现,但如果您有一个特定的安全方案在大量用户中重复,您可以通过创建超级角色来让您的生活更轻松。例如,对于场景#1,您可以创建一个自定义角色,该角色是所有三个人力资源,内容作者法语和在线编辑器的成员角色。您可以简单地将用户分配给超级角色,而不是将所有三个角色分配给单个用户,并且将应用来自其他角色的所有权限。这种方法可以保持您的安全粒度,同时可以快速分配常见职责。
正如您所看到的,此特定模型可以非常灵活,可以通过将安全性隔离到这些特定于柱的角色来帮助将来证明您的安全性。
Sitecore安全性第1部分:自定义角色和权限的更多相关文章
- 在微服务系统开发部署中使用Azure RBAC自定义角色
Azure的官方文档介绍了如何创建用于Azure基于角色的访问控制的自定义角色(RBAC Role). 我们也可以根据同样的原理把RBAC细粒度资源管理运用于微服务产品的开发部署中.(https:// ...
- Azure自定义角色实现RBAC
简要说明: 当前Azure Portal上只能针对订阅或具体某一资源,实现访问控制,也就是对某一具体资源实现访问/使用/删除,但无法实现创建.例如:当前的需求为,新添加用户只具有对CDN服务的管理使用 ...
- SpringSecurity 自定义用户 角色 资源权限控制
SpringSecurity 自定义用户 角色 资源权限控制 package com.joyen.learning.security; import java.sql.ResultSet; impor ...
- oracle管理角色和权限
介绍 这一部分主要看看oracle中如何管理权限和角色,权限和角色的区别在哪里. 当刚刚建立用户时,用户没有任何权限,也不能执行任何操作.如果要执行某种特定的数据库操作,则必需为其授予系统的权限:如果 ...
- ASP.NET MVC 基于角色的权限控制系统的示例教程
上一次在 .NET MVC 用户权限管理示例教程中讲解了ASP.NET MVC 通过AuthorizeAttribute类的OnAuthorization方法讲解了粗粒度控制权限的方法,接下来讲解基于 ...
- C#_MVC 自定义AuthorizeAttribute实现权限管理
随笔- 28 文章- 31 评论- 16 MVC 自定义AuthorizeAttribute实现权限管理 在上一节中提到可以使用AuthorizeAttribute进行权限管理: [Autho ...
- MVC 自定义AuthorizeAttribute实现权限管理
在上一节中提到可以使用AuthorizeAttribute进行权限管理: [Authorize] public ActionResult TestAuthorize() { return View() ...
- Membership角色与权限管理
安全性:成员资格与角色:验证与授权. 一.建数据库:在VS工具中用DOS环境执行ASPNET_REGSQL 二.配置程序访问数据库: > 在web.config之中加入 <connecti ...
- ORACLE - 用户和角色的权限管理
在ORACLE中,创建用户后需要授权才能使用. 一.用户管理 1. 用户和角色信息查询 --查询所有用户 SQL> select * from dba_users; --经授予的用户或角色的系统 ...
随机推荐
- English--元音
English|元音 在一开始学习英语的时候,最需要掌握的就是音标.所以需要从音标的元音开始,并且不局限于掌握音标的元音与辅音,大家可以参考下英文版发音课,并不知道只学习元音与辅音,还有各种弱读连读等 ...
- HTML 统一资源定位器
URL 也被称为网址. URL 可以由单词组成,比如 “w3school.com.cn”,或者是因特网协议(IP)地址:192.168.1.253.大多数人在网上冲浪时,会键入网址的域名,因为名称比数 ...
- i春秋——“百度杯”CTF比赛 十月场——GetFlag(md5碰撞、文件包含、网站绝对路径)
需要提交的captcha满足等式,肯定就是MD5碰撞了 附上脚本 import hashlib def func(md5_val): for x in range(1,100000000): md5_ ...
- c#打开颜色对话框
用button时间 调出颜色对话框来: private void btnForeColor_Click(object sender, EventArgs e) { ...
- android studio学习----The project encoding (windows-1252) does not match the encoding specified in the Gradle build files (UTF-8)
Warning:The project encoding (windows-1252) does not match the encoding specified in the Gradle buil ...
- 目标检测论文解读7——YOLO v2
背景 YOLO v1检测效果不好,且无法应用于检测密集物体. 方法 YOLO v2是在YOLO v1的基础上,做出如下改进. (1)引入很火的Batch Normalization,提高mAP和训练速 ...
- 性能测试:TPS和QPS的区别
做测试,各种ps,jps,tps,qps,rps,hps,你理解几个? 技术群里,问得最多的就是tps和qps,有相似的地方,也有差异的地方,我简单谈下自己的理解.(由于比较忙,下面部分摘抄自网络) ...
- jenkins pipeline之stash/unstash
在使用jenkins时,经常会问到文件怎么存储? 正好jenkins有一个stash的功能,下面简单介绍下: 先看看官方是怎么解释的: stash: Stash some files to be us ...
- LA2955 Vivian难题——梅森素数
题意 输入 $k$(1 \leq k \leq 100)个正整数 $p_1, p_2, ..., p_k$(1 < p_i < 2{31}),找出 $k$ 个非负整数 $e_i$ 使得 $ ...
- matlab-层次分析法
层次分析法(AHP)是把问题条理化.层次化,构造出一个有层次的结构模型的方法. 比如要选择旅游地,有3个选择方案,苏杭.北戴河和桂林.选择过程需要考虑多个因素,比如景色.费用.居住.饮食和旅途. 1. ...