Confluence實現附件下載權限的控制


背景:

公司為了方便的管理過程文檔,搭建了一個Confluence服務器,版本6.9。在使用過程中,需要按照用戶對空間中上傳的附件進行下載權限控制。

解決過程及處理方案:

一、Confluence中導出功能支持導出的內容:

二、Confluence中如何控制導出功能:

https://confluence.atlassian.com/confkb/how-to-restrict-the-ability-to-export-a-space-in-confluence-800699946.html?_ga=2.128750732.1874233445.1556014885-1264367639.1556014885

社區中給出的這個方案,

第一種是全局的,由於需求僅僅是限制某個空間、某些用戶的下載,所以第一種不合適

第二種方案嘗試之后無法控制,原因是:

https://confluence.atlassian.com/conf69/space-permissions-overview-950284360.html

空間權限控制這里如果有查看權限,默認就會有導出功能,所以從下圖的控制無法實現。

三、Confluence提供的權限控制不能直接滿足需求,需要擴展實現一下。發現Confluence中有“自定義HTML”的功能,即在界面中增加html代碼,准備在這里做一些手腳

具體操作如下:

Body尾部添加的代碼如下:其中****處填寫空間的標識

<script type="text/javascript">
    $(document).ready(function(){
    $('body').bind("DOMNodeInserted",function(e){
        if(AJS.params.spaceKey=="****")
        {
            if(AJS.params.canRemovePage==false)
            {
                $('.cp-control-panel-download').hide();
          //禁用頁面打印  
          $('head').append('<style> @media print{html, body{display:none} } </style> ');
          //禁用右鍵菜單

            $('body').attr('oncontextmenu','self.event.returnValue=false');

           //禁用選中文字

           $('body').attr('onselectstart','return false');

 } } }) AJS.toInit(function(){ if(AJS.params.spaceKey=="****") { if(AJS.params.canRemovePage==false) { AJS.$('#action-export-word-link').hide(); AJS.$('#action-export-pdf-link').hide();
           //禁用頁面打印  
          $('head').append('<style> @media print{html, body{display:none} } </style> ');
          //禁用右鍵菜單
 
         

            $('body').attr('oncontextmenu','self.event.returnValue=false');

 
         

           //禁用選中文字

 
         

           $('body').attr('onselectstart','return false');

} } });}) </script>

上面的代碼功能主要是

1.做一個界面元素綁定的監聽,當下載按鈕元素加載后,符合代碼中要求就隱藏掉

 

 

2.把confluence界面上的“導出為**”控件隱藏

 這里把html直接寫到Body尾部,而不用js腳本引用的方式是因為,當使用js腳本時,測試過程中發現js文件下載用時20s,具體原因不是太清楚,所以暫時把html直接寫到Body尾部這里

四、完成自定義HTML的配置之后,僅需要簡單的做一下用戶的權限配置就行

當用戶分配了頁面的添加、刪除權限之后,就同步有下載、導出的權限

參考資料 

Atlassian社區

https://support.atlassian.com/confluence-server/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM