gpt4 book ai didi

c# - 无法添加具有空角色定义绑定(bind)集合的角色分配

转载 作者:行者123 更新时间:2023-12-02 21:41:46 30 4
gpt4 key购买 nike

我正在尝试向在 SharePoint 2013 中使用 ClientContext 的用户授予权限。我所做的一切与 Microsoft 网站 http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.client.roledefinitionbindingcollection.add.aspx 中的操作完全相同。

但最后,这部分代码总是返回异常“无法添加具有空角色定义绑定(bind)集合的角色分配”:

RoleAssignment oRoleAssignment = w.RoleAssignments.Add(oUser, roleDefBinding);                            
clientContext.ExecuteQuery();

我在网上搜索过,发现了一些其他用户的类似问题,但没有回复。有什么想法吗?

我的代码:

clientContext.Load(w.RoleDefinitions);
clientContext.ExecuteQuery();
var role = w.RoleDefinitions.Where(r => r.Name == roleName);
if (role.Count() > 0)
{
RoleDefinition roleMSP = role.First();
clientContext.Load(w.SiteUsers);
clientContext.ExecuteQuery();
var user = w.SiteUsers.Where(u=> u.LoginName == "c:0+.w|s-1-5-21-3493872076-3631449775-1555872641-1347");
if (user.Count() > 0)
{
// Create a new RoleDefinitionBindingCollection object.
RoleDefinitionBindingCollection roleDefBinding = new RoleDefinitionBindingCollection(clientContext);
roleDefBinding.Add(roleMSP);
User oUser = user.First() as User;

clientContext.Load(w.RoleAssignments);
clientContext.ExecuteQuery();

RoleAssignment oRoleAssignment = w.RoleAssignments.Add(oUser, roleDefBinding);
clientContext.ExecuteQuery();//Here I get an exception
}
}

最佳答案

解决了!删除了以下代码行:

clientContext.Load(w.RoleAssignments);
clientContext.ExecuteQuery();

看起来您不需要检索作业列表并添加您的作业列表。

关于c# - 无法添加具有空角色定义绑定(bind)集合的角色分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20323987/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com