SharePoint 2010使用API创建具有添加但无查看权限的权限级别

SharePoint 2010使用API创建具有添加但无查看权限的权限级别,sharepoint,sharepoint-2010,Sharepoint,Sharepoint 2010,我有一个场景,在这个场景中,我只想让用户初始地在列表中创建项目,并显式地给他们“不查看项目”权限。我将为他们提供自己的“添加”按钮(在列表之外),并且仅在使用工作流创建后才授予他们对列表的“读取”权限 因此,我本质上需要的是具有additems权限的权限级别,而不是viewitems。使用UI无法创建此权限级别。有没有人尝试过使用API来实现这一点?(我很确定这在以前的SharePoint版本中是可能的) 我认为它应该提供您需要的信息。是的,它是一个使用枚举的位掩码。这段代码在2007年或201

我有一个场景,在这个场景中,我只想让用户初始地在列表中创建项目,并显式地给他们“不查看项目”权限。我将为他们提供自己的“添加”按钮(在列表之外),并且仅在使用工作流创建后才授予他们对列表的“读取”权限

因此,我本质上需要的是具有additems权限的权限级别,而不是viewitems。使用UI无法创建此权限级别。有没有人尝试过使用API来实现这一点?(我很确定这在以前的SharePoint版本中是可能的)


我认为它应该提供您需要的信息。

是的,它是一个使用枚举的位掩码。这段代码在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;