在Sharepoint / c#中重写网站权限

时间:2015-08-12 07:40:37

标签: c# sharepoint permissions sharepoint-2010

我正在尝试将网站权限从一个网站复制到另一个网站。当我尝试从已添加6个用户的网站复制权限时,它工作正常,但随后我运行我的代码以从87个用户的网站复制权限 - 结果是意外的。所有用户都被正确重写,但许多权限都是错误的(例如只有View的Web-Admins)。任何人都知道如何解决这个问题?提前谢谢!

//ealier here I clear all permissions from destSite (it works fine)
clientContext.Load(sourceSite.RoleAssignments);
clientContext.ExecuteQuery();
for (int i = 0; i < sourceSite.RoleAssignments.Count; i++)//scource -> dest copy
//foreach (RoleAssignment role in sourceSite.RoleAssignments)
{
     SPSecurity.RunWithElevatedPrivileges(delegate()
     {
          RoleAssignment role = sourceSite.RoleAssignments[i];

          clientContext.Load(role, r => r.Member, r => r.RoleDefinitionBindings);
          clientContext.ExecuteQuery();

          destSite.RoleAssignments.Add(role.Member, role.RoleDefinitionBindings);
          premCoppied++;
     });

}

0 个答案:

没有答案