當前位置:首頁 » 服務存儲 » 許可權存儲到vuex
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

許可權存儲到vuex

發布時間: 2023-03-05 23:31:31

前端許可權控制

前端許可權控制分為四個方面的控制

第一點界面控制:用戶還未登入就能通過url訪問到系統頁面,該問題比較好解決通過路由守衛即可判斷。

如果用戶登入以後用url訪問不是屬於自己的菜單頁,如我沒有系統管理這個界面,我去地址欄輸入系統管理這個頁面的url,前端因該阻止它訪問頁面。輸入url能訪問到頁面的原因是你的路由配置了這個地址,所以控制界面的方式就是從路由入手,前期我們配置大家都有的路由,其他的路由根據登入系統時後台返回的許可權列表數據,動態添加路由。

在登入時我們把許可權數據存入vuex中並本地化,通過路由對象可以獲取到路由的配置,把那個用戶的路由單獨添加到路由列表中,使用addroutes添加更改後到路由配置,添加動態路由的方法調用在app.vue的created中,因為每次載入頁面都會調用該方法。

第二菜單控制:

根據用戶的不同菜單欄也不同,該問題跟動態路由類似登入時拿到數據存入vuex中並本地化,之後在菜單組件列表循環遍歷出對應的菜單欄,過於簡單就不截圖了。

第三按鈕控制:

這個控制可以採用自定義組件的方式,例如這個用戶沒有添加人員的按鈕,他只有查看這個人員菜單的許可權。在頁面上按鈕都添加上,但是是否能顯示則根據後端傳過來的許可權數據,該數據在動態路由作為meta數據添加在路由上了,也就是用路由的meta的數據去判斷這個按鈕是否顯示或者禁用或是可用,在頁面我們添加按鈕我們就加一個action屬於為add,我們或者add去比較如果沒有add這個許可權如果處理。上圖

第四請求攔截

請求攔截並不簡單的做一個token,而是每個用戶對應可以操作的請求放行,不是他可以操作的攔截,如他沒有添加的請求則要攔截,前面不是做了按鈕的控制嗎,為啥還要做這個攔截,按鈕控制並不安全,其實他可以通過瀏覽器直接修改按鈕的屬性,有人又說有token了不是可以攔截了嗎,對,可以攔截不過那時後台攔截,你請求還是發過去了,請求影響系統性能,所以做這個還是有必要的。

請求攔截,根據名字就知道他是在請求攔截器里設置的,在攔截器中可以獲取請求方式,根據請求方式與路由中的mate許可權對比有就發送請求,如果沒有則不發請求

⑵ vuex存儲和本地存儲的區別

vuex管理的是應用處於當前運行狀態下的一些數據,而storage保存的是由應用告訴瀏覽器需要保存的數據,區別是,網頁一刷新,vuex數據就沒了,而storage不受刷新影響。。。因此,在保存數據時,應該結合所使用場景的情況,因地制宜