Vah*_*yan 2 c# sharepoint sharepoint-2013
我试图授予在SharePoint 2013中使用ClientContext的用户权限。我所做的所有操作与Microsoft网站http://msdn.microsoft.com/zh-cn/library/microsoft.sharepoint.client中的操作完全相同。角色定义绑定集合.add.aspx
但是最后,这部分代码始终返回异常“无法添加具有空角色定义绑定集合的角色分配”:
RoleAssignment oRoleAssignment = w.RoleAssignments.Add(oUser, roleDefBinding);
clientContext.ExecuteQuery();
Run Code Online (Sandbox Code Playgroud)
我搜索了网络,发现与其他一些用户类似的问题,但没有任何答复。有任何想法吗?
我的代码:
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
}
}
Run Code Online (Sandbox Code Playgroud)
解决!删除了以下代码行:
clientContext.Load(w.RoleAssignments);
clientContext.ExecuteQuery();
Run Code Online (Sandbox Code Playgroud)
看起来您不需要检索分配列表,然后添加您的分配列表。
| 归档时间: |
|
| 查看次数: |
3867 次 |
| 最近记录: |