我需要遍历 ProjectSite 的所有 RoleDefinitiona 并获取与每个用户相关的所有用户并将这些用户添加到另一个 SiteCollection 中 ProjectSite 的 RoleDefinition
我可以通过 RoleDefinitions 像循环:
using (var src_ctx = new ClientContext(Root))
{
RoleDefinitionCollection role_definition_collection = src_ctx.Web.RoleDefinitions;
src_ctx.Load(role_definition_collection);
src_ctx.ExecuteQuery();
foreach (RoleDefinition role_definition in role_definition_collection)
{
}
}
我也可以遍历所有组并读取每个组的用户,然后获取每个用户的 RoleAssignment:
GroupCollection group_collection = src_ctx.Web.SiteGroups;
src_ctx.Load(group_collection);
src_ctx.ExecuteQuery();
foreach (Group group in group_collection)
{
UserCollection user_collection = group.Users;
foreach (User user in user_collection)
{
RoleAssignment role_assignment = src_ctx.Web.RoleAssignments.GetByPrincipal(user);
RoleDefinitionBindingCollection role_definition_binding_collection = role_assignment.RoleDefinitionBindings;
}
}
但是如何在 RoleDefinition 和 users 之间建立联系?