2011-04-21 50 views
0

我有一個場景,我想讓用戶初始只能夠在列表中創建項目並明確地給它們沒有查看項目的權限。我將向他們提供他們自己的添加按鈕(在列表之外),並且僅在使用工作流程創建之後爲他們提供讀取權限。SharePoint 2010使用API​​添加但沒有查看權限創建權限級別

因此,我基本上需要的是具有additems權限的權限級別,但不包含viewitems。使用用戶界面不能創建此權限級別。有沒有人嘗試使用API​​來做這件事? (我敢肯定,這是在SharePoint的早期版本可能)

回答

0

是的,這是一個使用枚舉的SPBasePermissions位掩碼。而且這個代碼在2007年或2010年完美地工作。

E.g.通過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; 
相關問題