0

我有一个 SharePoint 加载项,它在 AppManifest.xml 中定义了以下应用程序权限。

<AppPermissionRequests AllowAppOnlyPolicy="false" >
      <AppPermissionRequest Scope="http://sharepoint/taxonomy" Right="Write" />
      <AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web" Right="FullControl" />
</AppPermissionRequests>

为避免用户需要“网站集管理员”权限,将“AllowAppOnlyPolicy”设置为 false。

该应用程序的目的是创建一个存储所有需要信息的子站点。我可以毫无问题地创建子网站,但是从我尝试访问子网站中的列表的那一刻起,我收到“拒绝访问。您无权执行此操作或访问此资源。” 例外。我发现这很令人惊讶,因为我预计如果您在网站上拥有“完全控制权”,您也可以访问子网站。

有没有一种无需添加网站集读取权限即可访问子网站列表的方法?

4

2 回答 2

1

我相信您误解了AllowAppOnlyPolicy的概念。AppOnlyPolicy 实际上使您能够覆盖用户权限并让 SharePoint 仅检查授予 AddIn 的权限(请参见此处),因此实际上是您想要的。您需要更改为:

<AppPermissionRequests AllowAppOnlyPolicy="true" >

为什么在第一步中您可以创建子站点,对我来说只有一个可能的解释:您的服务帐户或用户帐户具有在该网站上执行此操作所需的权限。(https://sharepoint.stackexchange.com/questions/21193/creating-sub-sites)。

于 2017-05-16T21:28:07.087 回答
0

还从 App Manifest 授予对网站集和租户的完全控制权限。那会有所帮助。

于 2017-05-17T05:29:47.713 回答