crm---本项目的权限控制模式
一:url權限: ?最底層的權限控制,,缺點在與沒有預判的機制,造成客戶體驗下降.
? ? ? ? ??前提:?為controller中的每一個方法(即資源)定義一個資源(Resource)名稱,,該資源名稱對應一個權限(Permission),兩者為一對一的關系.
權限的表與表的關聯關系分析:?而每一個Permission由分別可以對應多個Role(角色),即Role與Permission為多對多的關系.
再進一步,為每一個系統的用戶分配多個Role,即Role與User之間為為多對多的關系.
權限攔截過程分析:在權限攔截的攔截器中,在登錄驗證之后,在對當前要訪問的資源進行驗證,如果當前訪問的資源不在權限驗證列表中,則直接放行不進行驗證了.
反之,如果當前訪問的資源在權限列表中,則需要對當前要訪問的資源進行權限驗證.首先,獲取用戶的所有權限,對其進行遍歷,并與當前要訪問的資源進行
比對,如果相等則放行,否則重定向到沒有權限的json數據源.
二:模塊按鈕權限:??第二級權限控制,增強用戶體驗.
權限攔截過程分析:在某些功能按鈕上增加預判的功能,在list的jsp頁面上使用jtsl的c標簽從作用域中獲取用戶的相關權限信息, 并與當前功能所對應的權限名稱比較,如果用戶包含當前功能按鈕所需的權限,則顯示該按鈕,否則隱藏該按鈕.
?
三:系統菜單權限:? 第三級權限控制,對不同權限的用戶顯示不同的系統菜單選項.
權限攔截過程分析:為每一個需要權限的菜單定義一個權限名稱,該名稱為定位到該菜單功能頁面的方法,即/list資源對應的方法,
?這樣,在用戶登錄后,遍歷所有的菜單選項,查詢出需要權限驗證的菜單項,以及其對應的全鄉名稱,然后逐個與用戶的權限列表比對,如果包含則ok,如果
?用戶權限列表中不包括該菜單的權限,則將該菜單項對象從當前的菜單項集合中移除,從而在前臺頁面不再顯示,最終達到為不同權限的用戶顯示不同
?的系統菜單列表的功能.
轉載于:https://www.cnblogs.com/tabchanj/p/5723070.html
總結
以上是生活随笔為你收集整理的crm---本项目的权限控制模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 触发器无法启动分布式事务。
- 下一篇: 我的javaweb学习之旅--html常