mindoc-org / mindoc

Golang实现的基于beego框架的接口在线文档管理系统
https://mindoc.com.cn/docs/mindochelp
Apache License 2.0
7.35k stars 1.91k forks source link

建议将PDF导出加上权限 #128

Open lxepoo opened 7 years ago

lxepoo commented 7 years ago

请按照一下格式提交issue,谢谢!

  1. 你当前使用的是哪个版本的 MinDoc(godoc_linux_amd64 version)? linux

  2. 你当前使用的是什么操作系统? docker

对企业来说,我们不希望员工一次性导出整个项目的PDF文档,因为当下MINDOC还不支持太细的权限颗粒,导致只能对其授予一个观察者、编辑者等权限,担心的是,员工离职,把系统里所有他能接触到的文档、需求、API接口都带走。那才是真的尴尬。

lifei6671 commented 7 years ago

这个是企业管理的问题,程序没办法约束到呀。

lxepoo commented 7 years ago

是企业管理的问题,可是程序里没开关,我不让他导出,他如果不想听,你一点办法都没。

就好像,企业管理里说了,进门要刷卡,如果连门禁系统都没有,这就是一句空话。反之如果有了门禁,自然就会刷卡了,因为不刷进不来。所以这不是单纯的企业管理问题,如果按你的思路,其实很多功能都靠自觉就行了。

lifei6671 commented 7 years ago

那就把项目设置成私有的,私有项目是不能导出的。

moyanyuansu commented 6 years ago

/view/document/default_read.tpl 这个文件里

<ul class="dropdown-menu dropdown-menu-right" role="menu" aria-labelledby="dLabel"> {{if gt .Member.MemberId 0}} {{if eq .Model.RoleId 0 1 2}} <li><a href="{{urlfor "DocumentController.Edit" ":key" .Model.Identify ":id" ""}}">返回编辑</a> </li> <li><a href="{{urlfor "DocumentController.Export" ":key" .Model.Identify "output" "pdf"}}" target="_blank">项目导出PDF</a> </li> {{end}} <li><a href="{{urlfor "BookController.Index"}}">我的项目</a> </li> <li role="presentation" class="divider"></li> {{end}} {{if eq .Model.PrivatelyOwned 0}} <li><a href="javascript:" data-toggle="modal" data-target="#shareProject">项目分享</a> </li> <li role="presentation" class="divider"></li> {{end}} <li><a href="{{urlfor "HomeController.Index"}}" title="返回首页">返回首页</a> </li> </ul>

<li><a href="{{urlfor "DocumentController.Export" ":key" .Model.Identify "output" "pdf"}}" target="_blank">项目导出PDF</a> </li> 这段挪到返回编辑下面去,这样只有编辑权限的人才能导出PDF,也就是项目管理员才能导出了

lifei6671 commented 6 years ago

这是治标不治本的做法。只是看不到导出链接。但是还是能导出的。

moyanyuansu commented 6 years ago

治本的方法,但是麻烦,可以把wkhtmltox先移除,等自己需要导出的时候再放回去,或者写个脚本,前端页面写个按钮来调用脚本实现wkhtmltox的移动