2009-07-01 37 views
5

Tôi muốn tạo chương trình theo cách lập trình để người dùng chỉ có thể xem các mục cụ thể trong danh sách.Quyền đối với mục danh sách SharePoint

Về cơ bản trong luồng công việc chạy khi một mục được tạo, tôi sẽ thực hiện một số nội dung và thông báo cho một số người về mục này. Tôi cũng muốn nó thay đổi quyền trên mục để chỉ những người dùng cụ thể (tra cứu thời gian chạy dựa trên nội dung mục) mới có thể đọc mục. Những người dùng còn lại có quyền truy cập vào danh sách sẽ chỉ thấy các mục cụ thể nhưng không chỉ xem các mục đó. Mục danh sách có thể không nhất thiết phải được sở hữu nhưng (các) người dùng cần xem nó nên tôi không thể đặt các quyền trong danh sách để cho phép người dùng chỉ nhìn thấy các mục của riêng họ.

Để đặt điều này vào ngữ cảnh nếu nó giúp - Danh sách này đang đăng ký vai trò công việc cho một thành viên cụ thể. Mỗi mục danh sách là một nhiệm vụ vai trò có chứa một tra cứu cho một vai trò trong danh sách vai trò và tra cứu một thành viên trong danh sách thành viên. Tôi không trực tiếp sử dụng một lĩnh vực multilookup trong danh sách thành viên cho vai trò bởi vì mỗi nhiệm vụ vai trò cần thêm thông tin được tổ chức về nó như một mô tả, một ngày bắt đầu vv. Mỗi vai trò có một người dùng/nhóm cụ thể quản lý nó. Tôi muốn nó để khi đi đến danh sách lớn này của nhiệm vụ vai trò, người dùng chỉ có thể nhìn thấy vai trò giao cho vai trò mà họ là người quản lý.

Tư vấn sẽ được đánh giá cao.

Trả lời

10

Bạn có thể gán quyền cho từng mục danh sách riêng lẻ. Ví dụ:

 // get list item 
     SPListItem item = <your list item>; 
     if (!item.HasUniqueRoleAssignments) 
     { 
      item.BreakRoleInheritance(true); 
     } 

     // get principal 
     SPPrincipal principal = <principal to grant permissions to>; 

     // get role definition 
     SPRoleDefinition rd = <role that contains the permissions to be granted to the principal>; 

     // create role assignment 
     SPRoleAssignment ra = new SPRoleAssignment(principal); 
     ra.RoleDefinitionBindings.Add(rd); 
     item.RoleAssignments.Add(ra); 

Nhưng hãy cẩn thận về hiệu suất và tác động của việc gán quyền cho mỗi mục danh sách.

Nói chung, tôi muốn

  • Quyền giao không sâu hơn mức danh sách
  • Càng nhiều càng tốt, gán quyền cho các nhóm và sau đó bao gồm người dùng cá nhân vào những nhóm.
+0

Ngoài ra câu hỏi/câu trả lời này có thể hữu ích: http://stackoverflow.com/questions/1058232 –

Các vấn đề liên quan