什么是權限管理:
? 就是不同的角色(或者用戶)進入系統(tǒng)后,看到的菜單欄和頁面不一樣。
主要通過:動態(tài)添加路由? 和? 導航守衛(wèi) 實現(xiàn)
例如:?HIS系統(tǒng)里,醫(yī)生可以開處方。護士就不可以
1.?? 路由定義? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 在路由文件創(chuàng)建路由,路由分為:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(1.)默認不需要權限的頁面 靜態(tài)路由 (所有用戶可以查看)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(2.) 需要權限的頁面 動態(tài)路由??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (3.)404頁面
2.? 用戶登錄:
? ? ? ? ? ? ? ? ? ? ? ? ? ?登錄成功后?, 后端會返回一個Token,把Token直接存儲到sessionStorage,每次調用接口? ? ? ? ? ? ? 時都需要帶上這個Token,根據 token 獲取用戶權限列表.
3.? 全局路由攔截:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? vue-router beforeEach 鉤子限制路由跳轉。根據當前用戶有沒有 token 和 權限列表進行相應的 判斷和跳轉。當沒有 token 時跳到 login登錄頁面,當有 token,根據后臺返回的權限列表,通過權限的唯一標識 (比如: 路由名 )??循環(huán)匹配我們寫的 動態(tài)路由表。 將匹配結果通過addRoutes動態(tài)添加到router中 ,?然后和靜態(tài)路由表結合 形成最終的路由表 。