当前位置:   article > 正文

Confluence 空间附件下载/页面导出权限控制_conluence 下载附件

conluence 下载附件

概述

两种思路:

  1. 通过修改html代码,控制相关控件的显示,来实现权限控制;
  2. 通过修改velocity 文件来调整控件显示;

自定义HTML隐藏附件下载和页面导出按钮

confluence上面的工具栏,点击【设置】-【General Configuration】-【Custom HTML】-"At end of the 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();  //隐藏可以预览的附件(word或pdf)下载按钮
                $('.cp-button').hide();                  //隐藏不能预览的附件(压缩文件或者其他不支持预览的)下载按钮
                $(".filename").attr("disabled",true).css("pointer-events","none"); //把文件列表模式下的附件设置为灰色
          $('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(); //隐藏导出为word按钮
                AJS.$('#action-export-pdf-link').hide();  //隐藏导出为pdf按钮
                AJS.$('#view-attachments-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
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

Hide the download button on the preview page

Space Tools–Look and feel–Layout–Content Layouts—Page Layout

<style type="text/css">
     .cp-control-panel-download {
        display:none !important;
    }
       .cp-waiting-message-download {
        display:none !important;
    }
      a.download-all-link {
        display: none !important;
     }
      a#download-all-link {
        display: none !important;
     }
 </style>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

Hide attachment button

Space Tools–Look and feel–Layout–Content Layouts—Main Layout

#if ($userAccessor.hasMembership('confluence-administrators', $helper.action.remoteUser.name))
#else
    <script type="text/javascript">
    AJS.toInit(function(){
        AJS.$('#view-attachments-link').hide();
        AJS.$('#view-in-hierarchy-link').hide();
        AJS.$('#content-metadata-attachments').hide();
    });
</script>
#end

#if ($userAccessor.hasMembership('confluence-administrators', $helper.action.remoteUser.name))
#else
    <script type="text/javascript">
    AJS.toInit(function(){
AJS.$('#space-tools-menu-trigger').hide();
    });
</script>
#end
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

disable right mouse click

Space Tools–Look and feel–Layout–Content Layouts—Page Layout

<script type="application/javascript">
 content_dom = document.getElementsByClassName("confluence-embedded-file");
 for (var i = 0; i < content_dom.length; i++) {
content_dom[i].oncontextmenu = function () {
return false;
 }
}
a_dom = document.querySelectorAll('a[data-linked-resource-type="attachment"]')
for (var i = 0; i < a_dom.length; i++) {
a_dom[i].oncontextmenu = function () {
return false;
 }
}
</script>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

print out a blank page

Space Tools–Look and feel–Layout–Content Layouts—Page Layout

 <style type="text/css" media="print">
     body { visibility: hidden; display: none }
 </style>
  • 1
  • 2
  • 3

Disable attachments for a whole Space

修改 listattachmentsforspace.vm文件,参考Disable attachments for a whole Space

Disable attachments for a specific page

修改 attachments-table.vm文件,参考Disable attachments for a specific page

更多参考

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/126183?site
推荐阅读
相关标签
  

闽ICP备14008679号