Управление пользователями и группами SharePoint
В этой статье показано, как добавлять или удалять группы и пользователей в данном семействе веб-сайтов. Примеры кода в этой статье добавляют пользователей и группы, а затем предоставляют им уровни разрешений для доступа к SharePoint. Эти действия уровня разрешений пользователя и группы реализуются с помощью методов расширения в примере Core.GroupManagement PnP.
Подготовка к работе
Чтобы приступить к работе, скачайте пример надстройки Core.GroupManagement из проекта Office 365 Developer Patterns and Practices на сайте GitHub.
Примечание.
Код, приведенный в этой статье, предоставляется "как есть" без какой-либо явной или подразумеваемой гарантии, включая подразумеваемые гарантии пригодности для какой-либо цели, для продажи или гарантии отсутствия нарушения прав иных правообладателей.
Добавление и удаление групп и пользователей
В следующем примере показано, как добавлять группы и добавлять пользователей в группы.
cc.Load(cc.Web, web => web.CurrentUser);
cc.ExecuteQuery();
Microsoft.SharePoint.Client.User currentUser = cc.Web.CurrentUser;
if (!cc.Web.GroupExists("Test"))
{
Group group = cc.Web.AddGroup("Test", "Test group", true);
cc.Web.AddUserToGroup("Test", currentUser.LoginName);
}
В следующем примере удаляется группа.
if (cc.Web.GroupExists("Test"))
{
cc.Web.RemoveGroup("Test");
}
В следующем примере пользователи удаляются из групп.
cc.Load(cc.Web, web => web.CurrentUser);
cc.ExecuteQuery();
Microsoft.SharePoint.Client.User currentUser = cc.Web.CurrentUser;
if (cc.Web.GroupExists("Test"))
{
if (cc.Web.IsUserInGroup("Test", currentUser.LoginName))
{
cc.Web.RemoveUserFromGroup("Test", currentUser.LoginName);
}
}
Добавление уровня разрешений для группы или пользователя
В следующем примере добавляется уровень разрешений в группу.
if (cc.Web.GroupExists("Test"))
{
cc.Web.AddPermissionLevelToGroup("Test", RoleType.Contributor);
}
В следующем примере пользователю добавляется уровень разрешений.
cc.Load(cc.Web, web => web.CurrentUser);
cc.ExecuteQuery();
Microsoft.SharePoint.Client.User currentUser = cc.Web.CurrentUser;
cc.Web.AddPermissionLevelToUser(currentUser.LoginName, RoleType.Reader);
Удаление уровня разрешений для группы или пользователя
В следующем примере удаляется уровень разрешений из группы.
if (cc.Web.GroupExists("Test"))
{
cc.Web.RemovePermissionLevelFromGroup("Test", RoleType.Reader);
}
В следующем примере удаляется уровень разрешений пользователя.
cc.Load(cc.Web, web => web.CurrentUser);
cc.ExecuteQuery();
Microsoft.SharePoint.Client.User currentUser = cc.Web.CurrentUser;
cc.Web.RemovePermissionLevelFromUser(currentUser.LoginName, RoleType.Reader);