国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

補(bǔ)充 vue3用戶管理權(quán)限(路由控制)

這篇具有很好參考價(jià)值的文章主要介紹了補(bǔ)充 vue3用戶管理權(quán)限(路由控制)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

之前有人問我 ,如果是二級(jí)路由如何添加,這里我做一個(gè)補(bǔ)充吧。直接拿方法去用就行。也不做解釋了。稍微看下就能看懂了

假設(shè),后端返回給我們一個(gè)數(shù)據(jù) [“/defa”,"/defa/defa1"] 這樣的一個(gè)路由表,我們就需要通過這個(gè)路由表去篩選匹配我們的動(dòng)態(tài)路由,然后在進(jìn)行添加。假設(shè)我們的動(dòng)態(tài)路由是

[
  {
    path: "/defa",
    name: "defa",
    component: () => import("@/views/DefaCat.vue"),
    children: [
      {
        path: "/defa/fase1",
        name: "homelist1",
        component: () => import("@/views/UserZi.vue"),
      },
      {
        path: "/defa/fase9",
        name: "homelist9",
        component: () => import("@/views/UserZi.vue"),
      },
    ],
  },
  {
    path: "/defa/fase2",
    name: "homelist2",
    component: () => import("@/views/UserZi.vue"),
  },
];

這樣的一組數(shù)據(jù),按照后端返回給我們的數(shù)據(jù)表,我們最終要拿到的數(shù)據(jù)是。

[
  {
    path: "/defa",
    name: "defa",
    component: () => import("@/views/DefaCat.vue"),
    children: [
      {
        path: "/defa/fase1",
        name: "homelist1",
        component: () => import("@/views/UserZi.vue"),
      },
    ],
  },
];

這樣才符合我們的設(shè)計(jì)需要,所以這里添加了一個(gè)方法,能夠篩選出符合我們的代碼,注意,這有2個(gè)弊端,第一,是當(dāng)你父路由不存在后端的路由表而子路由存在時(shí),子路由照樣會(huì)被剔除掉,第二解釋,只能篩選2層,也就是說動(dòng)態(tài)路由里只有父路由子路由,多的無法篩選了。

const filterRoutes = (targetPaths:any, sourceRoutes:any) => {
  return sourceRoutes.map((route:any) => {
    const filteredChildren = route.children
      ? route.children.filter((child:any) => targetPaths.includes(child.path))
      : [];

    return {
      ...route,
      children: filteredChildren,
    };
  }).filter((route:any) => route.children.length > 0 || targetPaths.includes(route.path));
};

函數(shù)接收2個(gè)參數(shù),第一個(gè)參數(shù)是后端傳給我的路由表[“/defa”,"/defa/defa1"] ,第二個(gè)參數(shù)就是前端定義的整個(gè)的動(dòng)態(tài)路由,函數(shù)的返回值就是我們的數(shù)據(jù)啦。我們可以根據(jù)這個(gè)數(shù)據(jù)動(dòng)態(tài)添加路由或者是導(dǎo)航欄的權(quán)限控制

簡易版的動(dòng)態(tài)添加路由,可以作為參考,這里沒有加入token是否存在的邏輯。

router.beforeEach((to, from, next) => {
  console.log(to.name, 99);
  if (!to.name) {
    
    filterRoutes(arrlist,routerlist).map((item: any) => {
        router.addRoute(item);  
      
    });
    next({ ...to, replace: true });
  } else {
    next();
  }
  next();
});

現(xiàn)在來說應(yīng)該算是完全好了,這個(gè)這個(gè)權(quán)限組件,這里我們前端做的事情太多了,可以把活適當(dāng)?shù)姆忠稽c(diǎn)給后端,讓后端傳我們能直接用的路由表,不是更爽嗎 哈哈。

我看哪天有時(shí)間,我會(huì)出一版封裝好的有權(quán)限管理的vue3框架,包括路由權(quán)限和導(dǎo)航欄權(quán)限都會(huì)封裝好,開箱即用。文章來源地址http://www.zghlxwxcb.cn/news/detail-810009.html

到了這里,關(guān)于補(bǔ)充 vue3用戶管理權(quán)限(路由控制)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Linux系統(tǒng)知識(shí)4—Linux的root用戶,su 和 exit 命令,sudo 命令,用戶和用戶組管理,getent,查看權(quán)限控制,修改權(quán)限控制 -chmod,修改權(quán)限控制-chown

    Linux系統(tǒng)知識(shí)4—Linux的root用戶,su 和 exit 命令,sudo 命令,用戶和用戶組管理,getent,查看權(quán)限控制,修改權(quán)限控制 -chmod,修改權(quán)限控制-chown

    目錄 一.Linux的root用戶 1.1 root用戶(超級(jí)管理員) 1.2?su 和 exit 命令 1.3 sudo?命令 1.為普通用戶配置?sudo?認(rèn)證 二.用戶和用戶組管理 2.1用戶,用戶組 2.2用戶組的管理 2.3用戶管理 2.4.getent 三.查看權(quán)限控制 3.1認(rèn)知權(quán)限信息 1.序號(hào)1,表示文件,文件夾的權(quán)限控制信息 2. 序號(hào)2,表

    2024年01月17日
    瀏覽(91)
  • Django+vue3權(quán)限菜單rabc設(shè)計(jì)和動(dòng)態(tài)路由

    Django+vue3權(quán)限菜單rabc設(shè)計(jì)和動(dòng)態(tài)路由

    本次是基于Django和vue實(shí)現(xiàn) github源碼:nineaiyu/xadmin-server: xadmin-基于Django+vue3的rbac權(quán)限管理系統(tǒng) (github.com) 服務(wù)器設(shè)計(jì)及部分代碼? 權(quán)限控制的話,可以基于Django的permission進(jìn)行控制,并通過訪問api的URL操作 核心代碼如下 因此,需要對(duì)menu表進(jìn)行設(shè)計(jì),由于涉及到了前端vue路由,

    2024年02月12日
    瀏覽(35)
  • MySQL數(shù)據(jù)庫——SQL(4)-DCL(管理用戶、權(quán)限控制)

    MySQL數(shù)據(jù)庫——SQL(4)-DCL(管理用戶、權(quán)限控制)

    目錄 管理用戶 1.查詢用戶 2.創(chuàng)建用戶 3.修改用戶密碼 4.刪除用戶 示例 權(quán)限控制 1.查詢權(quán)限 2.授予權(quán)限 3.撤銷權(quán)限 示例 DCL總結(jié) DCL DCL英文全稱是Data Control Language(數(shù)據(jù)控制語言),用來管理數(shù)據(jù)庫用戶、控制數(shù)據(jù)庫的訪問權(quán)限。 注意: 主機(jī)名可以使用通配符‘%’。 這類S

    2024年02月12日
    瀏覽(48)
  • vue3+antd——實(shí)現(xiàn)App.vue頁面實(shí)時(shí)獲取權(quán)限+用戶信息的功能——基礎(chǔ)積累

    之前寫過一篇文章關(guān)于vue3+antd的框架模板,鏈接如下:http://t.csdn.cn/9dZMS 下面針對(duì) App.vue 頁面實(shí)時(shí)獲取權(quán)限+用戶信息的功能做一下記錄 重要的代碼如下: 通過 computed 計(jì)算屬性進(jìn)行用戶信息的實(shí)時(shí)監(jiān)聽,用戶信息更改時(shí)也會(huì)重新觸發(fā)user參數(shù)的變化,最終導(dǎo)致user內(nèi)容保持為最

    2024年02月14日
    瀏覽(28)
  • vue權(quán)限管理——請(qǐng)求和響應(yīng)權(quán)限控制

    每次請(qǐng)求請(qǐng)求頭都攜帶token,沒有token或者token失效后端會(huì)返回錯(cuò)誤 防止一些在瀏覽器上強(qiáng)制將按鈕改成可用(如將disabled改為true就可用),然后發(fā)起請(qǐng)求后發(fā)送后端 響應(yīng)控制:請(qǐng)求返回401,token無效或者后期,則需要跳轉(zhuǎn)到登錄界面

    2024年02月11日
    瀏覽(16)
  • vue3-實(shí)戰(zhàn)-11-管理后臺(tái)-權(quán)限管理之角色管理模塊

    vue3-實(shí)戰(zhàn)-11-管理后臺(tái)-權(quán)限管理之角色管理模塊

    目錄 1-角色列表 1.1-原型需求分析 1.2-接口封裝和數(shù)據(jù)類型定義 1.3-請(qǐng)求服務(wù)器端獲取列表頁面數(shù)據(jù) 1.4-組件頁面動(dòng)態(tài)渲染數(shù)據(jù) 2-角色新增和編輯 2.1-需求原型分析 2.2-頁面結(jié)構(gòu)以及功能實(shí)現(xiàn) 3-角色的刪除 4-分配權(quán)限 4.1-原型需求分析 4.2-獲取服務(wù)器數(shù)據(jù)渲染數(shù)據(jù) 4.3-分配權(quán)限 ?

    2024年02月09日
    瀏覽(17)
  • vue權(quán)限管理——按鈕控制

    根據(jù)right中的數(shù)據(jù)對(duì)應(yīng)增刪改查按鈕 ?initDynamicRoutes給用戶對(duì)應(yīng)的router中動(dòng)態(tài)添加meta元數(shù)據(jù)后,permission.js中通過router.currentRoute就可以獲取 directives/permission.js 獲取路由元數(shù)據(jù)中的rights權(quán)限和按鈕上的action記錄權(quán)限做比較:如果包含則有該權(quán)限,否則無權(quán)限,進(jìn)行刪除元素或者

    2024年02月11日
    瀏覽(19)
  • 最強(qiáng)的單點(diǎn)登錄認(rèn)證系統(tǒng),基于RBAC統(tǒng)一權(quán)限控制,實(shí)現(xiàn)用戶生命周期管理,開源、安全

    最強(qiáng)的單點(diǎn)登錄認(rèn)證系統(tǒng),基于RBAC統(tǒng)一權(quán)限控制,實(shí)現(xiàn)用戶生命周期管理,開源、安全

    MaxKey 單點(diǎn)登錄認(rèn)證系統(tǒng),諧音馬克思的鑰匙寓意是最大鑰匙,是 業(yè)界領(lǐng)先的IAM-IDaas身份管理和認(rèn)證產(chǎn)品 ,支持OAuth 2.x/OpenID Connect、SAML 2.0、JWT、CAS、SCIM等標(biāo)準(zhǔn)協(xié)議,提供 安全、標(biāo)準(zhǔn)和開放 的用戶身份管理(IDM)、身份認(rèn)證(AM)、單點(diǎn)登錄(SSO)、RBAC權(quán)限管理和資源管理等。 MaxKey注

    2024年02月03日
    瀏覽(20)
  • Vue如何實(shí)現(xiàn)權(quán)限管理(動(dòng)態(tài)路由addRoutes)

    目錄 引言 推薦B站視頻 一、權(quán)限管理 二、控制權(quán)限 接口權(quán)限 路由權(quán)限控制 方法一 方法二 菜單權(quán)限 方法一 方法二 按鈕權(quán)限 方法一 方法二 項(xiàng)目中會(huì)遇到權(quán)限管理,來讓特定用戶有特定權(quán)限的場景,那么怎么做這個(gè)權(quán)限管理,以及有多少辦法呢,下面給大家絮叨 vue權(quán)限管

    2023年04月25日
    瀏覽(17)
  • (vue權(quán)限管理)前端路由表角色權(quán)限管理,通過登錄不同角色側(cè)邊欄顯示對(duì)應(yīng)頁面

    (vue權(quán)限管理)前端路由表角色權(quán)限管理,通過登錄不同角色側(cè)邊欄顯示對(duì)應(yīng)頁面

    1. 首先在src/router/index.js中添加路由表,其中constantRoutes 設(shè)置的為所有角色可見的路由,asyncRouterMap為對(duì)應(yīng)權(quán)限人員可見路由,demo路由表代碼如下: 2.在src/api/user.js中創(chuàng)建用戶登錄,獲取用戶信息,以及登出的接口 3.在store/modules/user.js文件,添加獲取角色權(quán)限r(nóng)ole的信息 4.在src

    2024年02月11日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包