前端方案會在前端配置所有路由信息,要求用戶通過路由衛士登錄,用戶登錄後根據過濾器過濾出路由表。如果我要配置壹個asyncRoutes數組,我需要向它的路由元添加壹個roles字段,然後在獲得帳戶後取兩者的交集。如果結果不為空,則意味著可以訪問它。在這壹過濾過程結束時,家庭可以使用剩余的路線。最後,通過router.addRoutes(accessRoutes)類型動態添加路由。
後端方案會將所有的路由信息存儲在數據庫中,當用戶登錄時,可以根據他的查詢得到所有他可以訪問的路由信息並返回給前端,前端會通過addRoutes動態添加路由信息。
按鈕權限的控制通常實現壹個指令,比如v-permission,通過值把按鈕要求傳遞給v-permission指令。在指令的moutned鉤子中,可以判斷當前用戶與按鈕是否有交集,如果有,則保留按鈕,移除按鈕。
路由保護權限. js:
路由至## permission.js:
動態附加路由## permission.js:
如何將服務器返回的路由信息添加到路由器中?