java web項目 使用elfinder 實現文件管理器(二)


  在上一篇的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"等,只需要根據相應的需求在攔截器中配置相應的攔截即可

  到這里,相關的配置就介紹完了,這只是目前根據自己所掌握的知識所做的解決方法,權當拋磚引玉了,如果各位看官有更好的解決方法,歡迎留言,請不吝賜教


免責聲明!

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



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