記得2014年春節期間,有博客園的網友經過QQ向我諮詢Sharepoint 2013列表視圖和字段權限擴展,由於以前他看到我博客介紹Sharepoint 2010列表視圖和字段的權限控制擴展使用,問有沒有這方面的列表權限擴展插件?我告訴他Sharepoint 2010的列表權限擴展插件並不能在Sharepoint 2013中使用,不能向上兼容的,且Sharepoint 2013的功能也有所升級了,系統底層架構已發生了一些變化。因爲他須要在Sharepoint 2013項目中使用到此功能,有大量的列表視圖和字段須要根據權限去控制,所以委託我進行開發此擴展插件,並經過淘寶交易!呵呵,我從沒想過經過博客還能夠進行商業化的小項目,其實還有不少好東西能夠分享,可是以爲寫博客實在太費時間了,因此懶得寫,實際上寫博客一方面能夠進行分享,另外一方面對本身也能夠起到一個備忘的功能,由於以前解決了不少技術難題,沒有記錄下來,時間長了,也就忘記了,等要用了還得從新來一遍,可能更費時間了。言歸正傳,一開始研究了原來開源的Sharepoint 2010列表視圖和字段權限擴展插件,發現沒法升級到Sharepoint 2013,因此放棄了,從新進行開發設計,並於14年3月初完成開發並遞交了Sharepoint 2013列表視圖和字段的權限擴展插件交付物,並經過了網友的驗收,雖然將近一年前本人開發的商業插件,如今供有須要的免費提供下載使用。最近發現也有網友經過研究Sharepoint 2010列表視圖和字段權限擴展插件把此插件升級到Sharepoint 2013的版本,但經過測試發現了一些問題,主要問題以下:沒法在列表多行狀態下控制字段的只讀和隱藏,沒法隱藏沒有權限的視圖。
php
具體測試以下:
css
而本人開發Sharepoint 2013列表視圖和字段權限擴展插件,完全解決了多行編輯的字段只讀和隱藏功能,但對於沒有權限視圖的隱藏只作到了部分,解決了在多行的列表頭上的視圖上,但菜單視圖選項還沒完全解決,不過不影響使用。html
1、部署RJRSFieldViewPermission.wsp插件
前端
把RJRSFieldViewPermission.wsp包放到SharePoint管理中心的服務器上,如在C盤根目錄下。vue
在SharePoint的管理中心中打開SharePoint 2013 Management Shell(以管理員身份運行),輸入jquery
Add-SPSolution C:\RJRSFieldViewPermission.wsp按回車,具體以下圖:ios
成功後,打開SharePoint管理中心-》系統設置-》管理場解決方案,具體以下圖:c++
部署RJRSFieldViewPermission.wsp便可,以下圖:git
進入SharePoint的前端服務器的網站,在網站集中激活下圖一個擴展便可,以下圖:es6
完成後,就會在網站的列表設置中多出兩個設置:字段權限、視圖權限,以下圖:
2、部署SharePoint.WCFService.SPCustomFieldPermission插件
把SharePoint.WCFService.SPCustomFieldPermission.wsp包放到SharePoint管理中心的服務器上,如在E盤根目錄下。
在SharePoint的管理中心中打開SharePoint 2013 Management Shell(以管理員身份運行),輸入
Add-SPSolution E:\SharePoint.WCFService.SPCustomFieldPermission.wsp按回車,具體以下圖:
成功後,打開SharePoint管理中心-》系統設置-》管理場解決方案,具體以下圖:
部署SharePoint.WCFService.SPCustomFieldPermission.wsp便可,以下圖:
3、人工設置多行編輯狀態下列表字段權限和視圖權限
注意在設置以前必須部署好RJRSFieldViewPermission.wsp和SharePoint.WCFService.SPCustomFieldPermission插件,不然不會多行編輯列表字段權限和隱藏沒權限的視圖不會起做用。
(1)、以管理員登陸在Sharepoint網站的母版頁中上傳jquery-1.11.0.min.js和SPCustomFieldPermission.js及SPCustomViewPermission.js,具體以下:
以上傳SPCustomFieldPermission.js爲例,進入SharePoint的前端服務器的網站,在網站設置—》Web 設計器庫—》母版頁,以下圖:
進入母版頁後,點擊「上傳文檔」,以下圖:
按「肯定」後,按默認參數設置便可,以下圖:
jquery-1.11.0.min.js和SPCustomViewPermission.js上傳也是如此,再也不贅述。
也能夠經過Sharepoint Desinger工具進行操做,以下圖:
(2)、完成以上步驟後,在相應列表的全部相關視圖中設置JS連接便可。
以test列表的默認視圖「全部項目」爲列,其餘視圖的設置相同,具體以下:
點擊「編輯網頁」,以下圖: