簡體   English   中英

SharePoint Hosted App 2013:自定義List / AllItems.aspx頁

[英]SharePoint Hosted App 2013: Customize List/AllItems.aspx page

我正在嘗試在SharePoint托管應用中實現權限級別。 我創建了一個自定義列表“權限”,在其中添加了不同用戶及其角色。

我創建了一個頁面List.aspx,其中將自定義列表“產品”顯示為列表視圖Web部件。 頁面List.aspx根據“權限”列表檢查用戶的角色,頁面可以顯示或隱藏與此角色有關的內容。 問題是,當用戶嘗試導航到“列表/產品/Allitems.aspx”或“列表/權限/Allitems.aspx”時,他可以看到列表項。

所有代碼檢查都是在JavaScript中完成的,並且我知道存在安全風險,但這將對我的用戶有效。 我只需要找到一種方法即可將自定義JavaScript代碼注入Allitems.aspx,並檢查用戶是否有權查看它。

此處的所有操作都是在App網站上完成的,我在托管網站上沒有任何使用。

我已經找到了解決方法。 基本上,我所做的是我只是從直接訪問中隱藏了列表視圖。 為此,請打開列表的Schema.xml並替換“ JSLink”:

<JSLink>clienttemplates.js</JSLink>

<JSLink>~site/Scripts/OverrideListView.js</JSLink>

現在,創建一個新文件Scripts / OverrideListView.js並向其中添加以下代碼:

document.write("<style>body {display:none; };</style>");

現在嘗試直接訪問Lists / Permissions / Allitems.aspx 您將獲得一個空白頁。

這基本上是如何將自定義JS代碼插入列表視圖的想法。 您可以添加其他代碼來檢查當前用戶在站點級別的權限,並取消隱藏該視圖,甚至在用戶沒有正確角色或權限的情況下將其重定向到主頁。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM