Невозможно получить разрешения пользователя в списке SP - PullRequest
0 голосов
/ 16 апреля 2019

У меня есть код, который работает в DEV, но не в UAT.

Я не могу получить список пользователей, которым предоставлено разрешение на доступ к папкам, а именно:

Содержание сайта> Список> Найти запись (содержимое папкиТип) 3 точки> Дополнительно> Совместно с

Ниже приведен мой код:


Main

Log("folder.Item.RoleAssignments = " + folder.Item.RoleAssignments);

node.Attributes.Add("access", GetAccessXml(folder.Item.RoleAssignments, out originalAccess));

Log("originalAccess = " + originalAccess);

GetAccessXml

private string GetAccessXml(SPRoleAssignmentCollection roleAssignments, out string originalAccess)
{
    var list = roleAssignments.GetUserWithReadPermissionOnly();

    Log("list = " + list.ToString());

    var entries = "<Entities Append=\"False\" Error=\"\" Separator=\";\" MaxHeight=\"3\">{0}</Entities>";
    var entryTemplate = "<Entity Key=\"{0}\" DisplayText=\"{1}\" IsResolved=\"True\" Description=\"{0}\"><MultipleMatches /></Entity>";
    var entryBuilder = new StringBuilder();
    var csv = new StringBuilder();

    //LOG FILES shows that this loop was not entered <<============
    foreach (var principal in list)
    {
        Log("principal.Name = " + principal.Name);

        var entry = entryTemplate;
        entryBuilder.AppendFormat(entry, principal.LoginName, principal.Name);
        csv.Append(principal.LoginName).Append(",");
    }
    originalAccess = csv.ToString().TrimEnd(',');
    return entries.FormatWith(entryBuilder);
}

Создано журналов:

- folder.Item.RoleAssignments = Microsoft.SharePoint.SPRoleAssignmentCollection
- list = System.Collections.Generic.List`1[Microsoft.SharePoint.SPPrincipal]
- originalAccess = 

Файлы журналов показывают, что в методе GetAccessXml, моя list переменная пуста.

Могу ли я узнать, как устранить эту проблему, учитывая, что среда DEV работает, а UAT - нет?Спасибо

...