我們做權限系統的時候,經常要考慮幾個問題。
- 這個功能他沒有權限看,不能允許他通路。
-
這筆記錄他不能看到呀,不能允許他能看到相關記錄.
相信對于第一個問題,很多人都能做到。
那個功能的權限攔截,用很多開源的架構都能實作,如shiro,security。
但後面的資料權限,就很多人也沒有考慮進去,或者考慮進去了,也都是寫死,沒有考慮通用性,包括我現在的所在公司。
就算有些人做了資料級别的權限控制,也隻針對系統清單,即打開系統功能時,隻顯示哪些我能看到的資料,但這個有資料安全風險。
如我知道一些我沒權限看到的主鍵ID,是否就能通過這個ID來擷取我要看到的資料記錄呢.
業務場景分析如下:
- 業務人員登陸系統後,隻看到我相關的清單資料。
- 業務人員,如果是屬于某個角色,就能看到全部資料。
- 業務人員,如果不屬于某些角色,就隻能看到部分資料
- 業務人員打開單據時,隻能看到他能看的資料,如果不能看到,則提示無權限.
個人代碼已經完成,如需要請打賞後通知我。謝謝,如果你覺得該文章對你有幫助,麻煩點贊。
歡迎繼續檢視下篇文章-
通用資料級别權限的架構設計與實作(2)-資料權限的準備工作