Доступ и производительность на уровне элементов Sharepoint
-
01-07-2019 - |
Вопрос
я создал действие рабочего процесса, которое предоставляет создателю элемента определенного списка полный контроль над элементом и устанавливает для всех остальных доступ только для чтения (разрешение)
кто-то сказал мне, что при выполнении этого способа (если у меня будет много пользователей) производительность резко снизится
это правильно?!!
если да, то каково наилучшее решение для создания списка, в котором любой может создавать новые элементы, но после создания элемента только создатель может редактировать его, а остальные пользователи могут только его читать
Решение
Снижение производительности произойдет, если вы будете использовать большие списки управления доступом для каждого элемента списка.Просто убедитесь, что разрешения на уровне элемента в основном содержат минимальные записи.Например:
- Пользователь, у которого есть разрешения на редактирование этого элемента
- Единая группа безопасности, которая содержит всех пользователей, имеющих права только на чтение.
Итак, может ли Sharepoint предложить эти разрешения по умолчанию OOB?Насколько мне известно, нет.Единственный вариант, который я могу придумать, - это использование рабочих процессов, которые динамически устанавливают эти разрешения при загрузке документа.
Если вы хотите избежать снижения производительности, просто убедитесь, что вы никогда не отображаете (или не повторяете с использованием объектной модели) более 2000 таких элементов в детализированном списке разрешений.ЭТО определенно вызвало бы серьезные проблемы с производительностью.
Другие советы
Принятый ответ на самом деле неверно отвечает на вопрос...
Вы не должны использовать рабочий процесс для этого, если вы хотите, чтобы люди могли редактировать созданные ими элементы и читать только те, которые они не делали, используйте "Список-> Настройки-> Дополнительные настройки-> Разрешения на уровне элемента", и это является доступный для библиотек документов (поскольку они наследуются от SPLIST), он просто не отображается в их "Дополнительных настройках" в пользовательском интерфейсе.Вы можете установить для свойства ReadSecurity значение 1, а для свойства WriteSecurity - значение 2 в Библиотеке документов.
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splist.writesecurity.aspx
Да, вы могли бы решить эту проблему с помощью рабочих процессов, но это может быть немного неуклюже и замедлить работу вашего сервера.
Лучший вариант - использовать Настройки списка> Дополнительные настройки> Разрешения на уровне элемента.
Эта функция недоступна для библиотек документов и форм.
Это правда, что список, содержащий большое количество элементов с примененными пользовательскими разрешениями, замедлит работу вашего сервера.Этот документ содержится в официальном документе Microsoft Планирование границ программного обеспечения.
Рекомендуемое / магическое число - 2000.Дальнейшее ничего не нарушит, но это мог бы возможно, вы столкнетесь с проблемами производительности.