SharePoint C # Выполнить код с олицетворением или ElevatedRights - PullRequest
0 голосов
/ 10 апреля 2019

У меня есть следующий метод, и он не смог запустить метод roleAssignments.GetUserWithReadPermissionOnly()

private string GetAccessXml(SPRoleAssignmentCollection roleAssignments, out string originalAccess)
{

    //Error at the following line
    var list = roleAssignments.GetUserWithReadPermissionOnly();

    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();

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

Могу ли я узнать, как я могу изменить свой код для запуска метода с Impersonation или ElevatedRights?


Журнал ошибок:

Попытка выполнить несанкционированную операцию.в Microsoft.SharePoint.Utilities.SPUtility.HandleAccessDenied (Exception ex) в Microsoft.SharePoint.SPSecurableObject.CheckPermissions (SPBasePermissionsmissionsMask) в Microsoft.SharePoint.SPRoleAssignmentCollection.Init () в Microsoft.SharePoint.SPBaseEUn.GUnUUG.GUnUGULL.GULLUUG.Gф..ERMS.Mensa.CommonLibrary.PermissionLookup. <> C__DisplayClass5_0.SPSecurity.RunWithElevatedPrivileges (CodeToRunElevated SecureCode) в ERMS.Mensa.CommonLibrary.PermissionLookup.GetUserWithReadPermissionOnly (SPRoleAssignmentCollection roleAssignments) в ERMS.Admin.SystemSetting.FolderAccessControl.FolderAccessControlUserControl.GetAccessXml (SPRoleAssignmentCollection roleAssignments, String & originalAccess) в ERMS.Admin.SystemSetting.FolderAccessControl.FolderAccessControlUserControl.GetFormattedNode (SPList FilePlanList, папка SPFolder) по адресу ERMS.Admin.SystemSetting.FolderAccessControl.FolderAccessControlUserControl.GetChildNodes (RadTreeNodeEventArgs e) Данные об исключении: [FolderAccessControl] - файл-папки HP-файла:1013 *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...