SharePoint 2010使用“添加但不使用API​​的查看”权限创建权限级别

时间:2011-04-21 08:48:02

标签: sharepoint sharepoint-2010

我有一个场景,我想首先为用户提供在列表中创建项目的能力,并明确地授予他们没有查看项目权限的能力。我将为他们提供他们自己的添加按钮(在列表之外),并且仅在使用工作流创建后在列表上授予他们读取权限。

我基本上需要的是具有附加项权限的权限级别,但不是查看项目。使用UI无法创建此权限级别。有人试过使用API​​吗? (我很确定这在以前版本的SharePoint中是可行的)

2 个答案:

答案 0 :(得分:2)

This describes a solution to your problem

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

答案 1 :(得分:0)

是的,它是使用SPBasePermissions枚举的位掩码。此代码在2007年或2010年完美运行。

E.g。通过对所有位进行“或”运算来设置位掩码。

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;