Пользователи не добавляются в группы подузлов SharePoint, они добавляются в группы уровня семейства сайтов. - PullRequest
1 голос
/ 12 марта 2020

Я должен добавить пользователей в группы участников и владельцев субсайта SharePoint онлайн с помощью CSOM. Я использую контекст сайта для этого. Приведенный ниже метод используется для получения имени группы, я передаю Owners / Members в качестве имени группы и затем добавляю его в группу, возвращаемую по методу ниже, но всегда добавляю в группы уровня семейства сайтов:

private async Task<Group> GetGroupOrDefaultAsync(ClientContext context, Constants.SPDefaultGroup spDefaultGroup)
        {
            Group group = null;
            string groupName = string.Empty;
            switch (spDefaultGroup)
            {
                case Constants.SPDefaultGroup.Members:
                    groupName = Common.Configuration.Constants.MatterCustomMemberGroup;
                    if (string.IsNullOrWhiteSpace(groupName))
                    {
                        group = context.Web.AssociatedMemberGroup;

                    }
                    break;
                case Constants.SPDefaultGroup.Owners:
                    groupName = Common.Configuration.Constants.MatterCustomOwnerGroup;
                    if (string.IsNullOrWhiteSpace(groupName))
                    {
                        group = context.Web.AssociatedOwnerGroup;
                    }
                    break;
                case Constants.SPDefaultGroup.Visitors:
                    groupName = Common.Configuration.Constants.MatterCustomVisitorGroup;
                    if (string.IsNullOrWhiteSpace(groupName))
                    {
                        group = context.Web.AssociatedVisitorGroup;
                    }
                    break;
            }
            if (group == null)
            {
                if (!string.IsNullOrWhiteSpace(groupName))
                {
                    // get group by name configured in the web.config
                    group = await GetGroupByNameAsync(context, groupName);
                }
                else
                {
                    _logger.Error(new Exception($"Sharepoint Group not found. Searching group for {spDefaultGroup.ToString()}"), "SharePointService.AssignPeopleToGroup error.");
                }
            }
            return group;
        }

Code to add user:

var user = context.Web.EnsureUser(name);
                            group.Users.AddUser(user);
                            await context.ExecuteQueryRetryAsync();
    enter code here

1 Ответ

0 голосов
/ 13 марта 2020

По умолчанию под-сайты sharePoint используют те же разрешения, что и родительский сайт. Таким образом, подузлы используют те же группы, что и группы уровня семейства сайтов. Добавление пользователей в группу дочернего сайта равнозначно добавлению их в группы уровня семейства сайтов.

Вы можете удалить права доступа uqiue в дочернем сайте и создать новую группу для дочернего сайта.

enter image description here

enter image description here

...