У меня есть требование заблокировать доступ к библиотеке SharePoint: только пользователи, принадлежащие ко всем группам, связанным с библиотекой, должны иметь доступ для чтения; другим нельзя позволять читать.
Допустим, у меня есть библиотека документов, которая касается трех проектов:
12345
13579
24680
У меня есть пользователи, которые принадлежат к одному или нескольким проектам:
Joe: 12345, 24680
Jane: 13579, 24680
Jim: 24680
Harry: 12345, 13579, 24680
Мне нужно ограничить доступ к этой библиотеке только пользователям, которые принадлежат ВСЕМ проектам. То есть, только Гарри должен иметь доступ; остальным следует отказать. Мы бы использовали группы SharePoint, названные в честь каждого проекта, чтобы представить отношение «принадлежность».
Отредактировано более подробно:
Мы планируем создать doc lib и настроить начальную безопасность с помощью рабочего процесса. Однако на основе информации, введенной в форму, с документом может быть связано больше проектов, и администраторы могут перемещать людей в группы проектов и выходить из них (например, для продвижения по службе, новых сотрудников и т. Д.)
На данный момент, если отправка формы добавляет новый проект после начальной настройки, администратор, вероятно, при необходимости создаст новую группу и назначит ей доступ к doclib. В конце концов, мы сделаем это в рабочем процессе.
В настоящее время мы пишем код для определения начального состояния безопасности для сайта:
Мы просматриваем список проектов, введенных пользователем в форму, при необходимости создаем новые группы проектов, создаем сайт и пару doclib, прерываем наследование ролей и назначаем нашим группам доступ для чтения к doclib. Мы добавляем по несколько пользователей в каждую группу проектов.
На этом этапе у любого из этих пользователей есть доступ для чтения. Чего мы не знаем, так это ограничить доступ только для пользователей, которые входят во все группы.