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>部分来看看如何自定义站点权限。文章来源地址:https://www.yii666.com/article/758154.html

代码第10行到第13行,可以指定site collection的管理员。

14行到17行,指定站点的管理员,要注意的是这个和site collection管理员是不一样的。

18-25行,指定站点的成员和访问者。

26-37行创建一个新的SharePoint Group,并且添加用户和其他组到这个新组之中。网址:yii666.com<

39-48行创建的新的permission level.文章地址https://www.yii666.com/article/758154.html

49-54行指定权限到user或group。指定Group的时候,要使用“c:0t.c|tenant|{groupID}”作为Principal的参数,另外特别需要注意的是,Full Control,Edit,Read权限像样例填写是不能正确应用的,需要分别改成Administrator,Editor和Reader。文章来源地址https://www.yii666.com/article/758154.html网址:yii666.com

另外可以针对列表和文档库单独设置权限。在<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>部分

版权声明:本文内容来源于网络,版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。文本页已经标记具体来源原文地址,请点击原文查看来源网址,站内文章以及资源内容站长不承诺其正确性,如侵犯了您的权益,请联系站长如有侵权请联系站长,将立刻删除

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信图片_20190322181744_03.jpg

微信扫一扫打赏

请作者喝杯咖啡吧~

支付宝扫一扫领取红包,优惠每天领

二维码1

zhifubaohongbao.png

二维码2

zhifubaohongbao2.png