Надстройка SharePoint имеет "Полный доступ" на уровне "Интернет", но не может получить доступ к под-веб-спискам

У меня есть надстройка 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.

Цель приложения - создание дочернего сайта, в котором хранится вся необходимая информация. Я могу создать дочерний сайт без проблем, но с момента, когда я пытаюсь получить доступ к спискам на дочернем сайте, я получаю "Доступ запрещен. У вас нет разрешения на выполнение этого действия или доступ к этому ресурсу". исключение. Что я нашел довольно удивительным, так как ожидал, что если у вас есть "Полный контроль" на сайте, у вас также будет доступ к дочерним сайтам.

Есть ли способ получить доступ к спискам дочернего сайта, не добавляя разрешения на чтение семейства сайтов?

2 ответа

Я считаю, что вы неправильно поняли концепцию AllowAppOnlyPolicy. AppOnlyPolicy фактически позволяет вам переопределить разрешения пользователей и позволить SharePoint проверять только те разрешения, которые предоставлены надстройке (см. Здесь), то есть фактически то, что вам нужно. Вам нужно изменить на:

<AppPermissionRequests AllowAppOnlyPolicy="true" >

Почему на первом этапе вы можете создать дочерний сайт, у меня есть только одно возможное объяснение: что ваша учетная запись службы или учетная запись пользователя имеют необходимые разрешения для этого в этой сети. ( https://sharepoint.stackexchange.com/questions/21193/creating-sub-sites).

Дайте разрешение "Полный доступ" к семейству сайтов и арендатору, а также из манифеста приложения. Это помогло бы.

Другие вопросы по тегам