SharePoint Online 站点模板中权限的设置
SharePoint Online可以使用PnP引擎部署站点模板。这个模板的功能非常强大,除了可以定制主题,外观以外,还可以生成list并导入数据,生成文档库,导入文档等等。
今天重点说一下其中的站点权限部分。目前最新的Schema版本是202002,完整版可以参考 https://github.com/pnp/PnP-Provisioning-Schema/blob/master/OfficeDevPnP.ProvisioningSchema/ProvisioningSchema-2020-02.xsd。另外还有一个非常详细的样例文件,链接是:https://github.com/pnp/PnP-Provisioning-Schema/blob/master/Samples/ProvisioningSchema-2020-02-FullSample-01.xml。
1 <pnp:Security BreakRoleInheritance="true"
2 CopyRoleAssignments="false"
3 ClearSubscopes="true"
4 AssociatedGroups="Test Value"
5 AssociatedMemberGroup="{parameter:AssociatedMemberGroup}"
6 AssociatedOwnerGroup="{parameter:AssociatedOwnerGroup}"
7 AssociatedVisitorGroup="{parameter:AssociatedVisitorGroup}"
8 RemoveExistingUniqueRoleAssignments="true"
9 ResetRoleInheritance="true" >
10 <pnp:AdditionalAdministrators ClearExistingItems="false">
11 <pnp:User Name="user@contoso.com"/>
12 <pnp:User Name="U_SHAREPOINT_ADMINS"/>
13 </pnp:AdditionalAdministrators>
14 <pnp:AdditionalOwners ClearExistingItems="true">
15 <pnp:User Name="user@contoso.com"/>
16 <pnp:User Name="U_SHAREPOINT_ADMINS"/>
17 </pnp:AdditionalOwners>
18 <pnp:AdditionalMembers>
19 <pnp:User Name="user@contoso.com"/>
20 <pnp:User Name="U_SHAREPOINT_ADMINS"/>
21 </pnp:AdditionalMembers>
22 <pnp:AdditionalVisitors>
23 <pnp:User Name="user@contoso.com"/>
24 <pnp:User Name="U_SHAREPOINT_ADMINS"/>
25 </pnp:AdditionalVisitors>
26 <pnp:SiteGroups>
27 <pnp:SiteGroup
28 Title="Power Users"
29 Description="Group of Power Users"
30 Owner="admin@contoso.com">
31 <pnp:Members ClearExistingItems="true">
32 <pnp:User Name="user1@contoso.com" />
33 <pnp:User Name="user2@contoso.com" />
34 <pnp:User Name="user3@contoso.com" />
35 </pnp:Members>
36 </pnp:SiteGroup>
37 </pnp:SiteGroups>
38 <pnp:Permissions>
39 <pnp:RoleDefinitions>
40 <pnp:RoleDefinition Name="Manage List Items" Description="Allows a user to manage list items">
41 <pnp:Permissions>
42 <pnp:Permission>ViewListItems</pnp:Permission>
43 <pnp:Permission>AddListItems</pnp:Permission>
44 <pnp:Permission>EditListItems</pnp:Permission>
45 <pnp:Permission>DeleteListItems</pnp:Permission>
46 </pnp:Permissions>
47 </pnp:RoleDefinition>
48 </pnp:RoleDefinitions>
49 <pnp:RoleAssignments>
50 <pnp:RoleAssignment Principal="Power Users" RoleDefinition="Manage List Items"/>
51 <pnp:RoleAssignment Principal="user1@contoso.com" RoleDefinition="Manage List Items"/>
52 <pnp:RoleAssignment Principal="user2@contoso.com" RoleDefinition="Full Control"/>
53 <pnp:RoleAssignment Principal="user3@contoso.com" RoleDefinition="Full Control" Remove="true"/>
54 </pnp:RoleAssignments>
55 </pnp:Permissions>
56 </pnp:Security>
我们从中截取<pnp:Security>部分来看看如何自定义站点权限。
代码第10行到第13行,可以指定site collection的管理员。
14行到17行,指定站点的管理员,要注意的是这个和site collection管理员是不一样的。
18-25行,指定站点的成员和访问者。
26-37行创建一个新的SharePoint Group,并且添加用户和其他组到这个新组之中。
39-48行创建的新的permission level.
49-54行指定权限到user或group。指定Group的时候,要使用“c:0t.c|tenant|{groupID}”作为Principal的参数,另外特别需要注意的是,Full Control,Edit,Read权限像样例填写是不能正确应用的,需要分别改成Administrator,Editor和Reader。
另外可以针对列表和文档库单独设置权限。在<pnp:ListInstance>下面,可以找到如下单独的权限设置部分。
1 <pnp:Security>
2 <pnp:BreakRoleInheritance CopyRoleAssignments="true" ClearSubscopes="true">
3 <pnp:RoleAssignment Principal="user1@contoso.com" RoleDefinition="Full Control"/>
4 <pnp:RoleAssignment Principal="user2@contoso.com" RoleDefinition="Edit"/>
5 <pnp:RoleAssignment Principal="user3@contoso.com" RoleDefinition="View Only"/>
6 </pnp:BreakRoleInheritance>
7 </pnp:Security>
在设置好模板文件后,可以使用powershell 进行测试
Apply-PnPProvisioningTemplate -Path template.xml #部署全部模板 or Apply-PnPProvisioningTemplate -Path template.xml -Handlers SiteSecurity #只部署<pnp:Security>部分
SharePoint Online 站点模板中权限的设置的更多相关文章
- 浅谈SharePoint 2013 站点模板开发 转载自http://www.cnblogs.com/jianyus/p/3511550.html
一直以来所接触的SharePoint开发,都是Designer配合Visual Studio,前者设计页面,后者开发功能,相互合作,完成SharePoint网站开发.直到SharePoint 2013 ...
- 浅谈SharePoint 2013 站点模板开发
一直以来所接触的SharePoint开发,都是Designer配合Visual Studio,前者设计页面,后者开发功能,相互合作,完成SharePoint网站开发.直到SharePoint 2013 ...
- SharePoint 2013 图文开发系列之定义站点模板
SharePoint站点模板是一个非常好的功能,方便我们开发一类网站,然后在此基础上做二次开发,对于SharePoint的使用,有着举足轻重的作用. 因为篇幅比较长,所以加上目录,方便大家查看: 一. ...
- pageadmin CMS网站制作教程:模板中的站点数据调用
pageadmin CMS网站建设教程:模板中的站点数据调用 1.获取当前站点Id,返回int数字 Html.CurrentSiteId() 2.获取当前站点url地址,返回string字符串 Htm ...
- 在C#开发中如何使用Client Object Model客户端代码获得SharePoint 网站、列表的权限情况
自从人类学会了使用火,烤制的方式替代了人类的消化系统部分功能,从此人类的消化系统更加简单,加速了人脑的进化:自从SharePoint 2010开始有了Client Side Object Model ...
- 为 Azure Resource Manager 中的虚拟机设置 WinRM 访问权限
Azure 服务管理中的 WinRM 与 Azure Resource Manager Note Azure 具有用于创建和处理资源的两个不同的部署模型:Resource Manager 和经典. 本 ...
- eclipse 设置文本模板中 insert variable... 函数 详解
设置文本模板简要图: 设置文本模板详细过程:http://www.cnblogs.com/lsy131479/p/8478711.html 此处引出设置文本模板中 insert variable... ...
- 编写Java程序,实现对兵营类的封装,将兵营类中的所有属性设置为私有访问权限,方法设置为公有访问权限
返回本章节 返回作业目录 需求说明: 实现对兵营类的封装 将兵营类中的所有属性设置为私有访问权限. 将兵营类中所有属性的赋值方法设置为公有访问权限. 要求兵营名称的长度在4-8位之间. 要求兵营士兵的 ...
- O365(世纪互联)SharePoint 之站点个性化
前言 上一篇文章中,我们简单介绍了如何使用O365中SharePoint Online文档库,SharePoint Online的优点就是提供给我们很多非常方便开箱即用的功能,让我们快速的搭建站点,方 ...
随机推荐
- Windows 安装 Go语言开发环境
Windows 安装 Go语言开发环境 下载安装包 下载地址:http://www.golangtc.com/download 32 位请选择名称中包含 windows-386 的 msi 安 ...
- 安装Yii2框架
一.Windows安装Yii2 1.安装Composer Composer 需要 PHP 5.3.2+ 以上版本,且需要开启 openssl,打开 php 目录下的 php.ini,将 extensi ...
- 配置简单的拦截器java中
springMVC.xml文件中==== <!-- 拦截器 --> <mvc:interceptors> <mvc:interceptor> <mvc:map ...
- [NOIP2013 提高组] 货车运输
前言 使用算法:堆优化 \(prim\) , \(LCA\) . 题意 共有 \(n\) 个点,有 \(m\) 条边来连接这些点,每条边有权值.有 \(q\) 条类似于 \(u\) \(v\) 询问, ...
- vue 导入.md文件(markdown转HTML)
前言 刚接到这个需求的时候,觉得很简单(的确很简单)但是这玩意的坑真的也让人无奈. 网上找了很多的资料,都没有写出痛点(这就很难过了).通过实践并且在我们项目中平稳运行,想分享给后面的人 我的博客上也 ...
- [LeetCode]234. Palindrome Linked List判断回文链表
重点是: 1.快慢指针找到链表的中点.快指针一次走两步,慢指针一次走一步,分清奇偶数情况. 2.反转链表.pre代表已经反转好的,每次将当前节点指向pre /* 快慢指针得到链表中间,然后用206题方 ...
- JAVA程序通过JNI调用C/C++库
java程序如何调用c/c++库中的函数主要分为三个步骤: 1. 加载库文件. System.loadLibrary 2. 找到函数( java函数<----映射---->c函数 ) 3. ...
- 前台生成JSON
方法一 :在后台需要转换String - json let param = new URLSearchParams(); param.append('username', this.username) ...
- 1.第一个QT程序
第一个QT程序 应用程序类QApplication 窗口类MyWidget 进入事件循环 a.exec() 头文件 mywidget.h QApplication 文件Demo_pro 我怎么知道我用 ...
- spark优化项
一.Shuffle优化项 1.Shuffle优化配置 - spark.shuffle.file.buffer 默认值:32k 参数说明:该参数用于设置shuffle write task的Buffer ...