【问题标题】:SharePoint 2010 create permission level with Add but no View permission using APISharePoint 2010 使用 API 创建具有添加但没有查看权限的权限级别
【发布时间】:2012-06-20 00:34:07
【问题描述】:
我有一个场景,我希望最初只让用户能够在列表中创建项目,并且明确地不授予他们查看项目的权限。我将为他们提供他们自己的添加按钮(在列表之外),并且只在使用工作流创建后授予他们对列表的读取权限。
因此,我本质上需要的是具有 additems 权限的权限级别,但不是 viewitems。使用 UI 无法创建此权限级别。有没有人尝试过使用 API 来做这件事? (我很确定这在以前版本的 SharePoint 中是可能的)
【问题讨论】:
标签:
sharepoint
sharepoint-2010
【解决方案2】:
是的,它是使用SPBasePermissions 枚举的位掩码。而且这段代码在 2007 年或 2010 年运行良好。
例如通过 ORing 所有位来设置您的位掩码。
SPBasePermissions perms = SPBasePermissions.AddListItems |
SPBasePermissions.EditListItems |
SPBasePermissions.ViewListItems |
SPBasePermissions.OpenItems |
...
然后创建一个新角色:
SPRoleDefinition roleDefinition = new SPRoleDefinition();
roleDefinition.Name = "New Role Name";
roleDefinition.Description = "Description";
roleDefinition.BasePermissions = perms;
web.AllowUnsafeUpdates = true;
web.RoleDefinitions.Add(roleDefinition);
web.AllowUnsafeUpdates = false;