1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        推薦一套開源通用后臺管理系統(tǒng)(附源碼)

        共 2614字,需瀏覽 6分鐘

         ·

        2021-10-18 19:27

        今日推薦
        Java 8 一行代碼解決了空指針問題,太厲害了...
        List中remove()方法的陷阱,被坑慘了!
        25000 字詳解 23 種設(shè)計模式,原來可以這么簡單!
        最牛逼的 Java 日志框架,性能無敵,橫掃所有對手.....
        這玩意比ThreadLocal叼多了,嚇得我趕緊分享出來。

        ? 前言
        這套Base Admin是一套簡單通用的后臺管理系統(tǒng),主要功能有:權(quán)限管理、菜單管理、用戶管理,系統(tǒng)設(shè)置、實時日志,實時監(jiān)控,API加密,以及登錄用戶修改密碼、配置個性菜單等。

        技術(shù)棧

        前端:layui
        java后端:SpringBoot + Thymeleaf + WebSocket + Spring Security + SpringData-Jpa + MySql
        相關(guān)后臺系統(tǒng):
        1、這或許是最美的Vue+Element開源后臺管理UI
        2、帶工作流的SpringBoot后臺管理項目,一個企業(yè)級快速開發(fā)解決方案(附源碼)

        工程結(jié)構(gòu)說明

        java部分、html、js、css部分都是大目錄下面按單表一個子目錄存放

        運行預(yù)覽

        效果先睹為快,具體介紹在下方,按功能點進(jìn)行詳情介紹

        功能演示

        登錄

        (為了方便演示,密碼輸入框的類型改成text)配置文件分支選擇,dev環(huán)境無需輸入驗證碼。
        同時支持多種登錄限制。

        允許/禁止賬號多人在線。

        軟刪除

        限制登錄IP地址

        賬號過期

        更多登錄限制,還可以繼續(xù)擴展。
        系統(tǒng)設(shè)置
        一下簡單的系統(tǒng)屬性設(shè)置,想支持更多的配置可自行擴展(比如這里的:用戶管理初始、重置密碼)。
        系統(tǒng)設(shè)置新增部分功能,詳見文末“補充更新”

        菜單管理

        菜單管理是一棵layui的Tree
        權(quán)限管理
        增刪改查

        動態(tài)權(quán)限加載

        權(quán)限的加載并不是寫死在代碼,而是動態(tài)從數(shù)據(jù)庫讀取,每次調(diào)用save方法時更新權(quán)限集合。
        1、妲己是ROLE_USER權(quán)限,權(quán)限內(nèi)容為空,無權(quán)訪問/sys/下面的路徑(http://localhost:8888/sys/sysUser/get/1)
        2、使用sa超級管理員進(jìn)行權(quán)限管理編輯,給ROLE_USER的權(quán)限內(nèi)容添加 /sys/**,妲己立即有權(quán)限訪問(http://localhost:8888/sys/sysUser/get/1)
        用戶管理
        主要包括用戶信息、登錄限制的維護(hù),菜單、權(quán)限的分配等。
        修改用戶權(quán)限是下一次登錄生效。
        修改用戶菜單是刷新系統(tǒng)即可生效。
        用戶管理新增“當(dāng)前在線用戶”管理,詳見文末“補充更新”
        登錄用戶信息
        基本信息
        登錄用戶只能修改部分信息,例如名稱、修改密碼
        修改密碼
        密碼使用的是MD5加密并轉(zhuǎn)換為16進(jìn)制字符串存儲,用戶除了能主動修改密碼外,還能叫管理員重置密碼。

        個性菜單
        用戶可以自行配置自己的個性化快捷菜單。
        實時日志
        使用websocket,實時將日志輸出到web頁面,1秒刷新一次。
        注意:這里的日志配置只配置了dev環(huán)境,prod環(huán)境尚未為空,發(fā)布生產(chǎn)環(huán)境前記得先配置,否則生成的日志文件將不會輸入日志內(nèi)容!
        搜索公眾號Java架構(gòu)師技術(shù)回復(fù)“面試”,送你一份驚喜禮包。

        實時監(jiān)控

        實時監(jiān)控的是系統(tǒng)硬件環(huán)境、以及jvm運行時內(nèi)存,注:因本人暫無Linux環(huán)境,所以只測試了windows環(huán)境,有問題請及時反饋,謝謝!
        使用websocket,實時將數(shù)據(jù)輸出到web頁面,1秒刷新一次。
        API加密
        請求參數(shù)加密
        響應(yīng)數(shù)據(jù)加密
        1、系統(tǒng)設(shè)置新增API加密開關(guān),可一鍵關(guān)閉、開啟API加密;
        開啟API加密
        關(guān)閉API加密
        關(guān)鍵點講解
        1、定制url訪問權(quán)限,動態(tài)權(quán)限讀取,需要自定義配置認(rèn)證數(shù)據(jù)源、認(rèn)證管理器、攔截器,詳情步驟請參考:https://www.jianshu.com/p/0a06496e75ea;
        2、API加密中,由于登錄校驗是Spring Security做的,因此我們要在UsernamePasswordAuthenticationFilter獲取賬號、密碼之前完成解密操作,正好我們的校驗驗證碼操作就是在它之前,同時要做響應(yīng)數(shù)據(jù)的加密操作,所以登錄部分的API加密光按照我們之前的博客來還是不夠的,需要在CaptchaFilterConfig進(jìn)行解密操作,解密后new一個自定義RequestWrapper設(shè)置Parameter,并將這個新對象傳到doFilter交由下一步處理。
        3、還是API加密問題,我們是在程序啟動的時候生成后端RSA秘鑰對,正常來說我們在訪問登錄頁面進(jìn)行登錄的時候前端獲取一下就可以了,但在開發(fā)環(huán)境中,我們通常開啟熱部署功能,改完代碼程序可能會自動重啟,但登錄用戶信息仍然保持在本地線程,系統(tǒng)依舊處于登錄狀態(tài)沒有跳轉(zhuǎn)到登錄頁面,導(dǎo)致后端公鑰已經(jīng)改變,但前端依舊用的是舊的后端公鑰,所有導(dǎo)致加解密失?。唤鉀Q:在訪問index首頁時也獲取一下后端公鑰,這樣在開發(fā)的時候idea熱部署后刷新頁面就可以了(已提交最新代碼,解決熱部署后刷新頁面還是API加解密失敗問題;現(xiàn)在熱部署后刷新頁面即可)
        4、好多人都不知道,項目有工具類CodeDOM.java可以生成一套單表的完整增刪改查后臺代碼。
        配置好數(shù)據(jù)庫,指定代碼生成父位置。
        運行main函數(shù)即可一鍵生成一套單表增刪改查后臺代碼。

        后記
        這個只是一個比較簡單通用的后臺系統(tǒng),如果加入工作流,就可以升級成基礎(chǔ)平臺,為簡化業(yè)務(wù)開發(fā),將部分通用系統(tǒng)功能整理成獨立項目,具體業(yè)務(wù)功能通過iframe嵌入。
        1、新增百度富文本的使用。
        對應(yīng)字段類型,mysql要改成longtext
        2、新增“”記住我“”功能,也就是rememberMe,原理以及源碼探究請看這位大佬的博客:https://blog.csdn.net/qq_37142346/article/details/80114609
        需要新增一張表,SQL文件我也以及更新了。
        4、系統(tǒng)設(shè)置新增系統(tǒng)顏色,頭部、左側(cè)菜單的顏色可按心情切換(SQL文件已同步更新)
        5、用戶管理模塊新增“當(dāng)前在線用戶”管理,可實時查看當(dāng)前在線用戶,以及對當(dāng)前在線用戶進(jìn)行強制下線操作。
        代碼開源

        注:數(shù)據(jù)庫文件在resources/static/sql目錄下面


        源碼獲取

        掃碼下方二維碼,后臺回復(fù)【A1019】即可獲取

        瀏覽 39
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            啊,好大好爽 | yy6080无码 | 欧美夜夜操 | 9l农村站街老熟女露脸 | 日本精品在线观看 | 撸管视频.com | 国产高潮好爽受不了了夜色 | 天天综合天天爽 | 久久久国产免费 | 久久久激情视频 |