在上一篇的elfinder配置里面,给大家展示了一下基本配置,对于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提供自定义菜单内容的,具体内容参考
key
释义
"navbar"
左侧文件夹预览栏右键菜单
"cwd"
文件操作显示区域右键菜单
"files"
在文件上右键选择时
参照文档,就可以自定义自己各权限的操作菜单啦
当然,单纯的不显示菜单并不能避免通过url等来操作,通过分析每一次操作发送的url发现每一种操作的请求中的"cmd"参数的值都不同,如打开文件为"open",下载为"file"等,只需要根据相应的需求在拦截器中配置相应的拦截即可
到这里,相关的配置就介绍完了,这只是目前根据自己所掌握的知识所做的解决方法,权当抛砖引玉了,如果各位看官有更好的解决方法,欢迎留言,请不吝赐教