<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      導(dǎo)航

      若依(RuoYi )權(quán)限管理設(shè)計(jì)

      前言

      若依權(quán)限管理包含兩個(gè)部分:菜單權(quán)限數(shù)據(jù)權(quán)限。菜單權(quán)限控制著我們可以執(zhí)行哪些操作。數(shù)據(jù)權(quán)限控制著我們可以看到哪些數(shù)據(jù)。

      菜單是一個(gè)概括性名稱,可以細(xì)分為目錄菜單按鈕,以若依自身為例:

      • 目錄,就是頁面導(dǎo)航,也可以理解為導(dǎo)航父菜單(二級(jí)導(dǎo)航或三級(jí)導(dǎo)航)如:系統(tǒng)管理;某個(gè)父菜單沒有權(quán)限,表示需要隱藏或禁用這個(gè)父菜單。
      • 菜單,就是導(dǎo)航子菜單,如:用戶管理;某個(gè)子菜單沒有權(quán)限,表示需要隱藏或禁用這個(gè)子菜單,也就無法進(jìn)入子菜單關(guān)聯(lián)的頁面,如:用戶管理頁面。
      • 按鈕,可以泛化理解為頁面組件,如:新增;某個(gè)組件沒有權(quán)限,表示需要隱藏或禁用這個(gè)組件,也就無法執(zhí)行這個(gè)組件關(guān)聯(lián)的事件,如:點(diǎn)擊。

      菜單權(quán)限

      菜單權(quán)限是基于 角色 實(shí)現(xiàn)的,如下圖:

      菜單授權(quán)

      1. 創(chuàng)建或編輯菜單時(shí),設(shè)置菜單權(quán)限字符,相當(dāng)于菜單唯一標(biāo)識(shí)符;
      2. 創(chuàng)建或編輯角色時(shí),設(shè)置該角色擁有權(quán)限的菜單列表,即:角色關(guān)聯(lián)菜單權(quán)限標(biāo)識(shí)符;
      3. 創(chuàng)建或編輯用戶時(shí),設(shè)置該用戶擁有的角色列表,即:角色關(guān)聯(lián)用戶;

      菜單鑒權(quán)

      驗(yàn)證用戶對(duì)于菜單是否有權(quán)限,可以通過角色實(shí)現(xiàn):

      1. 獲取用戶擁有的角色列表;
      2. 如果角色列表包含這個(gè)角色,則表示有權(quán)限;否則,表示沒有權(quán)限。

      也可以通過菜單權(quán)限字符實(shí)現(xiàn):

      1. 獲取用戶擁有的角色列表;
      2. 獲取這些角色擁有權(quán)限的菜單(權(quán)限字符)列表;
      3. 如果菜單列表包含這個(gè)菜單,則表示有權(quán)限;否則,表示沒有權(quán)限。

      前端鑒權(quán)

      前端使用菜單鑒權(quán)時(shí),需要使用權(quán)限指令:

      // 角色
      <el-button v-hasRole="['admin']">管理員才能看到</el-button>
      
      // 權(quán)限字符
      <el-button v-hasPermi="['system:user:add']">存在權(quán)限字符串才能看到</el-button>
      

      后端鑒權(quán)

      前端鑒權(quán)只能保證可以隱藏或禁用菜單,并不能保證菜單關(guān)聯(lián)的后端接口請(qǐng)求不被非法調(diào)用,若依支持在后端接口方法使用角色或權(quán)限字符聲明權(quán)限:

      // 角色
      @PreAuthorize("@ss.hasRole('user')")
      
      // 權(quán)限字符
      @PreAuthorize("@ss.hasPermi('system:user:list')")
      

      若依沒有為后端接口專門設(shè)計(jì)權(quán)限管理模塊,它認(rèn)為后端接口和菜單具有對(duì)應(yīng)關(guān)系,可以直接使用菜單的角色或權(quán)限字符用于后端接口的權(quán)限聲明。

      數(shù)據(jù)權(quán)限

      數(shù)據(jù)權(quán)限也是基于 角色 實(shí)現(xiàn)的,如下圖:

      支持五種權(quán)限模式,按權(quán)限大小依次排列:

      • 全部數(shù)據(jù)權(quán)限,表示擁有所有部門的數(shù)據(jù)權(quán)限
      • 自定數(shù)據(jù)權(quán)限,表示擁有指定的若干部門的數(shù)據(jù)權(quán)限
      • 本部門數(shù)據(jù)權(quán)限,表示僅擁有用戶所屬部門(不包括子部門)的數(shù)據(jù)權(quán)限
      • 本部門及以下數(shù)據(jù)權(quán)限,表示僅擁有用戶所屬部門和所有子部門的數(shù)據(jù)權(quán)限
      • 僅本人數(shù)據(jù)權(quán)限,表示僅擁有用戶本人的數(shù)據(jù)權(quán)限

      數(shù)據(jù)模式需要使用 用戶部門。這就要求我們創(chuàng)建數(shù)據(jù)表時(shí),除業(yè)務(wù)數(shù)據(jù)自身字段以外,需要額外增加兩個(gè)字段:

      • userId,表示用戶 ID;
      • deptId,表示部門 ID;

      用戶可以擁有多個(gè)角色,但只能屬于一個(gè)部門。
      部門支持有父子關(guān)系,角色不支持父子關(guān)系。

      數(shù)據(jù)授權(quán)

      1. 創(chuàng)建或編輯部門時(shí),設(shè)置部門父子關(guān)系;
      2. 創(chuàng)建或編輯角色時(shí),設(shè)置角色的數(shù)據(jù)權(quán)限模式;如果是自定數(shù)據(jù)權(quán)限,需要設(shè)置部門列表;

      數(shù)據(jù)鑒權(quán)

      數(shù)據(jù)鑒權(quán)實(shí)際是數(shù)據(jù)過濾,即:過濾用戶沒有權(quán)限的數(shù)據(jù)。實(shí)際使用時(shí),我們只需要在查詢數(shù)據(jù)的方法上添加注解:

      @DataScope
      

      聲明啟用數(shù)據(jù)過濾即可。這樣若依查詢數(shù)據(jù)時(shí),僅會(huì)返回用戶有權(quán)限的數(shù)據(jù)。

      若依對(duì)于使用數(shù)據(jù)權(quán)限的數(shù)據(jù)方法實(shí)現(xiàn)是有一定要求的,我們不描述具體細(xì)節(jié),僅給出核心流程:

      1. 獲取用戶的角色列表;
      2. 獲取這些角色的數(shù)據(jù)權(quán)限模式;
      3. 計(jì)算這些數(shù)據(jù)權(quán)限中的最大權(quán)限;
      4. 根據(jù)這個(gè)最大權(quán)限,轉(zhuǎn)換成該權(quán)限對(duì)應(yīng)的部門 ID(一個(gè)或多個(gè)) 或 用戶 ID;
      5. 動(dòng)態(tài)修改查詢數(shù)據(jù)方法的查詢 SQL 語句,添加基于部門 ID 或用戶 ID 的過濾語句;
      6. 執(zhí)行修改后的查詢 SQL 語句;

      可以看出,數(shù)據(jù)權(quán)限本質(zhì)上就是基于部門 ID 或用戶 ID 的數(shù)據(jù)過濾,只是這個(gè)過濾是若依為我們自動(dòng)完成的。

      結(jié)語

      若依的菜單權(quán)限和數(shù)據(jù)權(quán)限都是基于 角色 實(shí)現(xiàn)的,用戶關(guān)聯(lián)著角色,角色關(guān)聯(lián)著菜單權(quán)限字符和數(shù)據(jù)權(quán)限模式。

      posted on 2022-09-19 20:50  非著名野生程序員  閱讀(6515)  評(píng)論(4)    收藏  舉報(bào)
      主站蜘蛛池模板: 狠狠cao日日穞夜夜穞av| 色五月丁香五月综合五月| 日韩精品亚洲国产成人av| 亚洲人成精品久久久久| 亚洲成av人片无码天堂下载| 亚洲国产午夜精品福利| 两个人免费完整高清视频| 国产线播放免费人成视频播放| 亚洲区激情区无码区日韩区| 国产精品中文字幕一区| 激情国产av做激情国产爱| 国产精品亚洲五月天高清| 国产在线午夜不卡精品影院| 熟女性饥渴一区二区三区| 国产一区二区三区麻豆视频| 西西人体大胆444WWW| 久久精品欧美日韩精品| 最新亚洲av日韩av二区| 国产精品户外野外| 欧美亚洲综合久久偷偷人人| 精品一卡2卡三卡4卡乱码精品视频 | 女同另类激情在线三区| 亚洲一区二区三区| 国产精成人品日日拍夜夜| 国产激情国产精品久久源| 麻豆精品久久久久久久99蜜桃| 国产精品视频亚洲二区| 无人去码一码二码三码区| 亚洲精品无amm毛片| 国产亚洲精品综合99久久| 日韩一区二区三区精彩视频| 性高湖久久久久久久久| 亚洲av中文乱码一区二| 国产在线一区二区不卡| 免费看成人毛片无码视频| 亚洲熟女乱综合一区二区| 亚洲an日韩专区在线| 麻豆国产黄色一级免费片| 国产对白老熟女正在播放| 97视频精品全国免费观看| 欧美日韩国产亚洲沙发|