WSS имеет базовый пользовательский интерфейс для настройки разрешения на уровне элементов для элементов списка, но они скрывают это от пользовательского интерфейса для библиотек документов. Если вы зайдете в список Settings->List Settings->Avanced settings
, вы увидите варианты, чтобы сделать в значительной степени то, что вы просите. Однако в библиотеках документов этот интерфейс недоступен. Настройки, которые он использует, доступны через объектную модель.
Вы можете установить те же свойства для библиотеки документов следующим образом:
SPDocumentLibrary onlyOwnLib = theWeb.Lists["DocLibName"]
onlyOwnLib.WriteSecurity = 2;
onlyOwnLib.Update();
И это должно сделать это. Однако, по-видимому, это на самом деле не устанавливает разрешения; он просто контролирует, что пользователь может делать через пользовательский интерфейс. Если бы у них был другой интерфейс к библиотеке (например, через WebDAV) или список (например, через веб-службы), это не помешало бы им редактировать элементы, которые они не создавали. Если вам нужны настоящие разрешения на уровне элементов, я думаю, вам нужно пройти путь обработчика событий.
Эта запись от Мэтта Морса объясняет это более подробно, и он даже написал инструмент командной строки, чтобы установить свойство (плюс свойство .ReadSecurity
) для списков и библиотек.