Программирование средств безопасности в SharePoint 2007 - Работа с уровнями разрешений
ОГЛАВЛЕНИЕ
Работа с уровнями разрешений
Уровень разрешений – это набор разрешений со своим именем, определяемый в масштабе веб-узла. WSS включает четыре встроенных уровня разрешений: Read («Чтение»), Contribute («Вклад»), Design («Проектирование») и Full Access («Полный доступ»). В случае необходимости большей детализации, можно создавать собственные уровни разрешений, используя объектную модель WSS, или через стандартные административные страницы WSS, доступные владельцу семейства веб-узлов.
Уровни разрешений иногда называются ролями и в объектной моделиWSS они представлены использованием объектов SPRoleDefinition. Внешнему пользователю или группе можно назначить уровень разрешений, используя объект SPRoleAssignment. Например, ниже я назначаю встроенный уровень разрешений Contribute пользователю Windows под именем LITWAREINC\BrianC:
SPWeb site = SPContext.Current.Web;
SPRoleDefinition role = site.RoleDefinitions["Contribute"];
SPRoleAssignment roleAssignment;
roleAssignment = new SPRoleAssignment(@"LITWAREINC\BrianC",
"Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.",
"Brian Cox",
"Notes about Brian Cox");
roleAssignment.RoleDefinitionBindings.Add(role);
site.RoleAssignments.Add(roleAssignment);
Такая методика делает ненужным добавление пользователей к одному из семейств SPUser, поскольку это автоматически проделывается WSS, когда внешнему пользователю или группе в первый раз назначаются разрешения внутри веб-узла. Только что продемонстрированный код создает профиль пользователя в списке данных о пользователях, если такового в нем еще не существует, и добавляет пользователя в число членов семейства Users текущего веб-узла.