SharePoint加载项在“Web”级别具有“完全控制”,但无法访问子Web列表
我有一个SharePoint加载项,它在AppManifest.xml中定义了以下应用权限SharePoint加载项在“Web”级别具有“完全控制”,但无法访问子Web列表,sharepoint,permissions,sharepoint-addin,Sharepoint,Permissions,Sharepoint Addin,我有一个SharePoint加载项,它在AppManifest.xml中定义了以下应用权限 <AppPermissionRequests AllowAppOnlyPolicy="false" > <AppPermissionRequest Scope="http://sharepoint/taxonomy" Right="Write" /> <AppPermissionRequest Scope="http://sharepoint/cont
<AppPermissionRequests AllowAppOnlyPolicy="false" >
<AppPermissionRequest Scope="http://sharepoint/taxonomy" Right="Write" />
<AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web" Right="FullControl" />
</AppPermissionRequests>
为避免用户需要网站集管理员权限,AllowAppOnlyPolicy设置为false
该应用程序的目的是创建一个子网站,其中存储了所有需要的信息。我可以毫无问题地创建子网站,但从我尝试访问子网站中的列表的那一刻起,我就被拒绝访问。您没有执行此操作或访问此资源的权限。例外
这让我感到非常惊讶,因为我认为如果你完全控制一个网站,你也可以访问子网站
有没有一种方法可以访问子网站的列表而不必添加网站集的读取权限?我相信您误解了AllowAppOnlyPolicy的概念。 AppOnlyPolicy实际上允许您覆盖用户权限,并允许SharePoint仅检查授予加载项的权限,因此实际上是您想要的。您需要更改为:
<AppPermissionRequests AllowAppOnlyPolicy="true" >
为什么在第一步中您可以创建子网站,对我来说只有一个可能的解释:您的服务帐户或用户帐户具有在该网站上创建子网站所需的权限 从应用程序清单中授予对网站集和租户的完全控制权限。这会有帮助。我希望普通用户能够添加外接程序。其全部目的是不授予这么多权限,否则只有网站集管理员可以添加外接程序。我的结果是,作为具有完全控制权限的用户,我可以在网站上添加外接程序,然后通过该外接程序我可以创建子网站。我还可以完全控制使用您建议的AllowAppOnlyPolicy,这对我来说不是一个选项,因为从我启用它的那一刻起,添加外接程序的用户必须具有网站集管理员权限。我也不确定,即使我使用它,我将有同样的权利在子网站和网站本身。