1.首先看下專案結構,設定許可權用到的檔案(乙個是在store下modules下面的permission.js和 src下的permission.js)
2.先看src下面的permisssion.js
router.
beforeeach
(async
(to,
from
, next)
=>
) nprogress.
done()
}else
else)}
else)}
}else)}
}}catch
(error)}
}else
else}}
)
3.store下面的permission.js
需要引入的其他js檔案
import
from
'@/router'
import
from
'@/api/user'
import
from
'@/utils/auth'
import
from
'@/router'
a.工具類
function
haspermission
(roles, route)
else
}function
routeredirect
(routes)` :
`$/$
` const index = routes.
findindex
(v => v.path ===
'/')
if(index >-1
)else
routes.
unshift
(route)}}
return routes
}export
function
filterasyncroutes
(routes, roles)if(
haspermission
(roles, tmp)
) res.
push
(tmp)}}
)return res
}
b.許可權實現
const state =
//登陸人資訊
}const mutations =
,set_login_data
:(state, logindata)
=>
,reset_routes
:(state)
=>
}const actions =))
.catch
(error =>)}
)},logout()
).catch
(error =>)}
)}}export
default
4.檢視router.js 裡面有兩個陣列。 第乙個是 constantroutes不需要許可權,第二個是asyncroutes需要許可權。然後給每個需要許可權的路由新增 meta物件,定義role屬性,值為path。 下面是如何定義role。其實如果子路由 裡面沒有做許可權就不需要 設定role。(我這裡子路由也做了許可權)
,//role
children:[,
//role
hidden:
true
, children:[,
hidden:
true}]
},,//role
hidden:
true
, children:[,
hidden:
true}]
},,//role
hidden:
true
, children:[,
hidden:
true}]
},,//role
hidden:
true
, children:[,
hidden:
true}]
}]},
5.要把你的路由表整理乙份給後端人員,path最重要。
下面是你需要給後端人員溝通給你返回的許可權列**式。(這裡是我定的,用的時候也可以根據自己的習慣來) path對應mata裡面的 role
1:2
:3:4
:5:6
:10:13
:
許可權的概述 系統許可權 物件許可權
許可權 1許可權是資料庫執行某種操作的能力 2許可權的分類 1 系統許可權 在系統級控制資料庫的訪問和使用機制。2 物件許可權 是指在模式物件上控制訪問和使用的機制 系統許可權 1系統許可權是針對使用者來設定的,使用者必須被授予相應的系統許可權,才能連線到資料庫中執行某種操作 2系統許可權包括建立會...
許可權設計(功能許可權與資料許可權)
許可權設計的最終目標就是定義每個使用者可以在系統中做哪些事情。當我們談到許可權的時候,一般可以分為 功能許可權 資料許可權和字段許可權 功能許可權 使用者具有哪些權利,比如特定單據的增 刪 改 查 審批 反審批等等 一般按照乙個人在組織內的工作內容來劃分 比如乙個單據往往有錄入人和審批人,錄入人具有...
許可權管理 chattr許可權
1 chattr 許可權 對包括root在內的所有使用者都起作用 新增chattr許可權 chattr i abc 檢視chattr許可權 lsattr abc 取消chattr許可權 chattr i abc i 針對檔案 則完全不能修改該檔案,針對目錄 只能修改目錄下檔案的資料,但不允許建立和刪...