Tôi đang tạo cổng theo dõi vấn đề dựa trên Sharepoint. Người dùng có thể thêm các mục nhập, nhưng trong mục nhập, tôi muốn một cột chỉ hiển thị cho một nhóm người dùng cụ thể (Quản trị viên). Có cách nào để đặt kiểm soát truy cập dựa trên cột không?Làm cách nào để quản lý kiểm soát truy cập dựa trên cột trong danh sách Sharepoint?
5
A
Trả lời
7
Theo như tôi biết rằng không có sẵn trong nền tảng chuẩn. Những gì bạn có thể làm mặt khác là để thủ công fieldcontrol của riêng bạn
Vì vậy, trong fieldtypes.xml tùy chỉnh
<FieldTypes>
<FieldType>
<Field Name="TypeName">MyInteger</Field>
<Field Name="ParentType">Integer</Field>
...
<Field Name="FieldTypeClass">xxx</Field>
</FieldType>
và trong sitecolumns.xml
<Field ID="xxx"
Name="xxx"
DisplayName="xxx
Description="xxx"
Group="xxx
Type="MyInteger"
DisplaceOnUpgrade="TRUE"
/>
và trong fieldcontrol bạn
public class MyInteger: SPFieldNumber
{
public MyInteger(SPFieldCollection fields, string fieldName)
: base(fields, fieldName)
{
}
public MyInteger(SPFieldCollection fields, string typeName, string displayName)
: base(fields, typeName, displayName)
{
}
public override BaseFieldControl FieldRenderingControl
{
[SharePointPermission(SecurityAction.LinkDemand, ObjectModel = true)]
get
{
Microsoft.SharePoint.WebControls.BaseFieldControl ctl =
new MyIntegerControl();
ctl.FieldName = InternalName;
return ctl;
}
}
}
và trong MyIntegerControl bạn có thể làm bất cứ điều gì bạn muốn (nhiều ghi đè), nhưng là một examp le là:
protected override void CreateChildControls()
{
base.CreateChildControls();
if (this.ControlMode == SPControlMode.New ||
this.ControlMode == SPControlMode.Display)
{
// check that use is admin and display value
}
}
0
Bạn cũng có thể làm điều này bằng đăng ký một CustomAction, và thay đổi schema xem danh sách động
<CustomAction Id="CustomAction"
GroupId="SiteActions"
Location="Microsoft.SharePoint.StandardMenu"
Sequence="1003"
ControlAssembly="$SharePoint.Project.AssemblyFullName$"
ControlClass="CustomAction.ColumnPermissionAction"/>
và trong lớp học kiểm soát của bạn:
class ColumnPermissionAction : Control
{
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
HideColumn();
}
private HideColumn(){
WebPart part=//find your web part
string colName="SecretColumn";
if(part is ListViewWebPart){
(part as ListViewWebPart).ListViewXml = (part as ListViewWebPart).ListViewXml.Replace(string.Format("<FieldRef Name=\"{0}\"/>", colName), string.Empty);
}else if(part is XsltListViewWebPart){
PropertyInfo property = typeof(DataFormWebPart).GetProperty("ListViewXmlDom", BindingFlags.NonPublic | BindingFlags.Instance);
if (property != null)
{
XmlNode xmlView = property.GetValue(part as XsltListViewWebPart, null) as XmlNode;
if (xmlView != null)
{
XmlNode node = xmlView.SelectSingleNode("//ViewFields");
if (node != null)
{
var field = node.SelectSingleNode(string.Format("FieldRef[@Name='{0}']", colName));
if (field != null)
{
node.RemoveChild(field);
}
}
}
}
}
}
}
Các vấn đề liên quan
- 1. Yii framework: kiểm soát dựa trên vai trò truy cập
- 2. Kiểm soát truy cập trong Cgit
- 3. Làm cách nào để áp dụng màu cho Danh sách SharePoint, dựa trên Trạng thái?
- 4. Làm thế nào để kiểm soát nullability trong SELECT INTO cho cột đen dựa trên
- 5. Kiểm soát truy cập dựa trên vai trò (RBAC) - .Net Component
- 6. JAVA: Kiểm soát đồng thời để truy cập vào danh sách trong java
- 7. Đăng ký danh sách SharePoint
- 8. Cách tạo danh sách phụ trong sharepoint
- 9. Truy cập dựa trên vai trò của Yii, quản lý các bài đăng của riêng mình
- 10. Kiểm soát thả thả danh sách kép
- 11. Tôi cần chọn cột cụ thể dựa trên danh sách hộp kiểm
- 12. Hệ thống kiểm soát truy cập PHP
- 13. Làm cách nào để đặt quyền truy cập cho phép kiểm soát quyền truy cập trong webrick dưới đường ray?
- 14. Có thực thi chung đơn giản về kiểm soát truy cập dựa trên quy tắc không?
- 15. Quyền đối với mục danh sách SharePoint
- 16. Nhiều cột tệp đính kèm trong danh sách SharePoint
- 17. Làm cách nào để quản lý một daemon dựa trên Python trên Linux?
- 18. Cách đổi tên danh sách trong Sharepoint
- 19. Làm thế nào để lập trình truy cập Kiểm soát trong WPF Grid theo hàng và cột chỉ mục?
- 20. Làm cách nào để lập danh sách ASP.Net Role có thể truy cập một trang?
- 21. Làm thế nào để thiết lập kiểm soát truy cập trong SVN?
- 22. Quản lý quyền truy cập cá thể giữa trên EC2
- 23. Truy cập 2013 và Sharepoint 2013 Web Integration
- 24. Truy cập các giá trị của bean được quản lý JSF trong một bean được quản lý khác
- 25. Làm cách nào để tạo danh sách lựa chọn bằng các hộp kiểm trong ASP.NET MVC?
- 26. Thư viện kiểm soát truy cập nâng cao
- 27. Kiểm soát Truy cập Windows Azure & WPF?
- 28. Xây dựng Hệ thống Kiểm soát Truy cập Tốt hơn
- 29. Truy cập mục trong danh sách các danh sách
- 30. Làm cách nào để tiêm quyền kiểm soát truy cập vào một lớp dịch vụ của ứng dụng mvc?
Tôi đồng ý rằng một tùy chỉnh lĩnh vực là con đường để đi. Ví dụ tuyệt vời! –
Tôi cũng vậy, và được trình bày rất rõ ràng! – Colin