<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          這個(gè)基于Gin + Vue + Element UI的前后端分離權(quán)限管理系統(tǒng),真香!

          共 1664字,需瀏覽 4分鐘

           ·

          2020-11-18 15:13

          公眾號(hào)關(guān)注?“GitHub今日熱榜
          設(shè)為 “星標(biāo)”,帶你挖掘更多開發(fā)神器!





          在進(jìn)入今日的正題之前,先來了解一下前后端分離權(quán)限管理系統(tǒng)。


          在傳統(tǒng)的前后端不分的開發(fā)中,權(quán)限管理主要通過過濾器或者攔截器來進(jìn)行,當(dāng)然,權(quán)限管理框架本身也是通過過濾器來實(shí)現(xiàn)。如果用戶不具備某一個(gè)角色或者某一個(gè)權(quán)限,則無法訪問某一個(gè)頁面。


          但是在前后端分離中,頁面的跳轉(zhuǎn)全都交給前端去做,后端只提供數(shù)據(jù),這種時(shí)候,權(quán)限管理就不能再按照之前的思路來設(shè)計(jì)了。


          我們都知道,前端是展示給用戶看的,所有的菜單,不管是顯示的還是隱式的并不是為了實(shí)現(xiàn)權(quán)限管理,而是為了給用戶一個(gè)良好的體驗(yàn)。在所有的系統(tǒng)設(shè)計(jì)中,并不是依賴前端隱藏控件來實(shí)現(xiàn)權(quán)限管理的,后端才能真正地確保數(shù)據(jù)完整性。


          后端在設(shè)計(jì)的過程中就要確保每一個(gè)接口都是在滿足某種權(quán)限的基礎(chǔ)上才能訪問。也就是說,不怕將后端數(shù)據(jù)接口暴露出來,即使暴露出來,只要你沒有相應(yīng)的角色,也是訪問不了的。


          有人說,如果用戶直接在地址欄輸入某一個(gè)頁面的路徑,怎么辦?此時(shí)如果沒有過任何額外處理的話,用戶確實(shí)可以通過直接輸入某一個(gè)路徑進(jìn)入到系統(tǒng)的某一個(gè)頁面中。但是,不用擔(dān)心數(shù)據(jù)泄露問題,因?yàn)闆]有相關(guān)的角色,就無法訪問相關(guān)的接口。


          如果用戶非這樣操作,進(jìn)入到一個(gè)空白的頁面,導(dǎo)致用戶體驗(yàn)不好,這個(gè)時(shí)候我們可以使用Vue中的路由導(dǎo)航守衛(wèi),來監(jiān)聽頁面跳轉(zhuǎn),如果用戶想要去一個(gè)未獲授權(quán)的頁面,則直接在前置路由導(dǎo)航守衛(wèi)將之?dāng)r截下來,重定向登錄頁,或者直接就停留在當(dāng)前頁,不讓用戶跳轉(zhuǎn)。


          總之,前端的所有操作,都是為了提高用戶體驗(yàn),真正的數(shù)據(jù)安全要在后端來做。后端中的權(quán)限管理為每個(gè)角色統(tǒng)一了一種路徑。


          今天推薦的這個(gè)前后端分離權(quán)限管理系統(tǒng),是基于 Gin + Vue + Element UI 實(shí)現(xiàn)的。系統(tǒng)初始化也極其簡(jiǎn)單,只需要在配置文件中,修改數(shù)據(jù)庫連接,系統(tǒng)啟動(dòng)后會(huì)自動(dòng)初始化數(shù)據(jù)庫信息以及必須的基礎(chǔ)數(shù)據(jù)。


          這個(gè)是在線體驗(yàn)登錄界面:



          這個(gè)前后端權(quán)限管理系統(tǒng)的特性:


          • 遵循 RESTful API 設(shè)計(jì)規(guī)范

          • 基于 GIN WEB API 框架,提供了豐富的中間件支持(用戶認(rèn)證、跨域、訪問日志、追蹤ID等)

          • 基于Casbin的 RBAC 訪問控制模型

          • JWT 認(rèn)證

          • 支持 Swagger 文檔(基于swaggo)

          • 基于 GORM 的數(shù)據(jù)庫存儲(chǔ),可擴(kuò)展多種類型數(shù)據(jù)庫

          • 配置文件簡(jiǎn)單的模型映射,快速能夠得到想要的配置

          • 代碼生成工具

          • 表單構(gòu)建工具

          • 多命令模式

          • TODO: 單元測(cè)試


          這個(gè)系統(tǒng)內(nèi)置了這些功能:


          1. 用戶管理:用戶是系統(tǒng)操作者,該功能主要完成系統(tǒng)用戶配置。

          2. 部門管理:配置系統(tǒng)組織機(jī)構(gòu)(公司、部門、小組),樹結(jié)構(gòu)展現(xiàn)支持?jǐn)?shù)據(jù)權(quán)限。

          3. 崗位管理:配置系統(tǒng)用戶所屬擔(dān)任職務(wù)。

          4. 菜單管理:配置系統(tǒng)菜單,操作權(quán)限,按鈕權(quán)限標(biāo)識(shí)等。

          5. 角色管理:角色菜單權(quán)限分配、設(shè)置角色按機(jī)構(gòu)進(jìn)行數(shù)據(jù)范圍權(quán)限劃分。

          6. 字典管理:對(duì)系統(tǒng)中經(jīng)常使用的一些較為固定的數(shù)據(jù)進(jìn)行維護(hù)。

          7. 參數(shù)管理:對(duì)系統(tǒng)動(dòng)態(tài)配置常用參數(shù)。

          8. 操作日志:系統(tǒng)正常操作日志記錄和查詢;系統(tǒng)異常信息日志記錄和查詢。

          9. 登錄日志:系統(tǒng)登錄日志記錄查詢包含登錄異常。

          10. 系統(tǒng)接口:根據(jù)業(yè)務(wù)代碼自動(dòng)生成相關(guān)的api接口文檔。

          11. 代碼生成:根據(jù)數(shù)據(jù)表結(jié)構(gòu)生成對(duì)應(yīng)的增刪改查相對(duì)應(yīng)業(yè)務(wù),全部可視化編程,基本業(yè)務(wù)可以0代碼實(shí)現(xiàn)。

          12. 表單構(gòu)建:自定義頁面樣式,拖拉拽實(shí)現(xiàn)頁面布局。

          13. 服務(wù)監(jiān)控:查看一些服務(wù)器的基本信息。


          系統(tǒng)設(shè)計(jì)架構(gòu)框圖:



          作者還錄制了項(xiàng)目的使用教程視頻。



          最后貼上GitHub項(xiàng)目地址,來自go-admin-team的良心巨作:


          https://github.com/go-admin-team/go-admin








          關(guān)注GitHub今日熱榜,專注挖掘好用的開發(fā)工具,致力于分享優(yōu)質(zhì)高效的工具、資源、插件等,助力開發(fā)者成長(zhǎng)!







          點(diǎn)個(gè)在看 你最好看




          瀏覽 139
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产高清无码视频在线 | 青青草原免费在线视频 | 国产乱伦毛片 | 舔逼逼视频 | 精品国产亚洲AV |