码迷,mamicode.com
首页 > 编程语言 > 详细

java web项目 使用elfinder 实现文件管理器(二)

时间:2019-07-15 21:25:47      阅读:380      评论:0      收藏:0      [点我收藏+]

标签:http   info   解决   符号   width   logs   cell   一模一样   log   

  在上一篇的elfinder配置里面,给大家展示了一下基本配置,对于url及权限配置这一块一直没来得及更新,今天就把剩下的这一部分补上

  打开 elfinder-servlet-2.jar 的源码,打开这个类cn.bluejoe.elfinder.controller.ConnectorController,我们可以看到映射路径为”connector”,这就是前台请求后台时的url路径

  技术图片

  这个路径太短,显然在稍大型的项目中是不合适的,容易引起冲突,所以需要改一下

  我们知道,jar包的本质其实还是一个压缩包,所以我这里采取的方式就是改源码,然后重新编译,再压缩回去替代掉原来的就可以了,具体操作如下:

  第一步当然是配好环境,即要将这个jar包放进来,如果是动态web工程,直接复制到lib目录中,如果是maven工程就引入依赖,然后照着ConnectorController类所在的路径,在自己的src目录下建这样一个一模一样的类:

  技术图片

  建好类过后,将源码复制到新建的类里面

  技术图片

  这样url就可以随便改了,如下所示

  技术图片

  不同的IDE编译方式不同,自行百度编译方法,此处使用的eclipse,设置的为自动编译,所以修改完成后,找到本工程所在磁盘的位置,编译后的class文件一般在WEB-INF/classes文件夹中,再根据自己创建的ConnectorController类所在路径即可找到,注意这里的文件含有的$符号的类是这个类中的内部类编译后的文件,也属于这个类,所以要一起复制

  技术图片

  然后用任意款解压软件打开elfinder-servlet-2.jar 这个jar包,将刚编译的文件替换掉原有的class文件保存即可

  技术图片

 

  jar包改造完成了,接下来就是改相应的配置即可了,主要有以下几点(具体可参照上一篇文章的基本配置):

  1、页面的连接url,这里要跟后台对应上

  技术图片

  2、因为项目中的 CommonsMultipartResolver 这个类文件上传时有问题,配置了拦截器,所以这里要改web.xml中的拦截url为改变后的

  技术图片

  到这里,关于url的修改就完成了

  

  接下来就是设置权限了,目前没有找到太多参考文档,我使用的权限限制的方法是直接修改其显示的菜单选项

  技术图片

  因为elfinder提供自定义菜单内容的,具体内容参考 elfinder菜单配置 ,根据不同的权限,配置不同的菜单,这里我使用的是jsp页面,所以将相应的菜单放入Model里,页面直接使用EL表达式取出即可,各选项对应内容为

key 释义
"navbar" 左侧文件夹预览栏右键菜单
"cwd" 文件操作显示区域右键菜单
"files" 在文件上右键选择时

  

  技术图片

  技术图片

  参照文档,就可以自定义自己各权限的操作菜单啦

  当然,单纯的不显示菜单并不能避免通过url等来操作,通过分析每一次操作发送的url发现每一种操作的请求中的"cmd"参数的值都不同,如打开文件为"open",下载为"file"等,只需要根据相应的需求在拦截器中配置相应的拦截即可

  到这里,相关的配置就介绍完了,这只是目前根据自己所掌握的知识所做的解决方法,权当抛砖引玉了,如果各位看官有更好的解决方法,欢迎留言,请不吝赐教

java web项目 使用elfinder 实现文件管理器(二)

标签:http   info   解决   符号   width   logs   cell   一模一样   log   

原文地址:https://www.cnblogs.com/aforever/p/11191514.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!