Вот сценарий..
===== scanario 1 ===== 1. Библиотека документа "Классик Gatorate" 2. У меня есть четыре группы. Альфа группы - Роль - Бета Группы Чтения - Роль - Группа Редактирования Epselon - Роль - Гамма Группы Редактирования - Роль - Редактирование
===== scanario 2 ===== 1. Библиотека документа "Gatorate G2" 2. У меня есть четыре группы. Альфа группы - Роль - Бета Группы Редактирования - Роль - Группа Чтения Epselon - Роль - Гамма Группы Редактирования - Роль - Чтение
Я пытался перейти по этой ссылке, но http://www.csharpest.net/?p=74, но я не думаю, что это - мое решение. Сделал любого, имел сценарий как это. Та же группа, но доступ другого уровня.
У меня есть кое-что, где я могу изменить уровень разрешений в библиотеке документов (со страницами) , но у меня другая потребность, поэтому я создал привилегии на страницах.
string groupname = "Group Alpha";
SPWeb web = getSPWeb();
web.AllowUnsafeUpdates = true;
SPGroup grupo = web.Groups[groupname];
SPFile arq = null;
SPFolder pasta = web.GetFolder("pages");
arq = pasta.Files["page1.aspx"];
if (arq.InDocumentLibrary)
{
SPListItem item = arq.Item;
if (!item.HasUniqueRoleAssignments)
item.BreakRoleInheritance(false);
SPRoleAssignmentCollection roles = item.RoleAssignments;
while (roles.Count > 0)
roles.Remove(0);
SPRoleAssignment atrib1 = new SPRoleAssignment(web.Groups[groupname] as SPPrincipal);
atrib1.RoleDefinitionBindings.Add(web.RoleDefinitions.GetByType(SPRoleType.Administrator));
roles.Add(atrib1);
}
web.AllowUnsafeUpdates = false;
Надеюсь, это вам поможет.