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