RBAC(Role-Based Access Control )基于角色的訪問控制阴汇。
RBAC模型家族其中,包括了RBAC0-RBAC3四個(gè)概念
RBAC0????定義了能構(gòu)成一個(gè)RBAC控制系統(tǒng)的最小的元素集合节槐。
RBAC1????引入了角色間的繼承關(guān)系
RBAC2????該模型中添加了責(zé)任分離關(guān)系
RBAC3????包含了RBAC1和RBAC2 即引入了角色間的繼承關(guān)系? ?????
????????????????又添加了責(zé)任分離關(guān)系
如何防止直接訪問jsp頁面搀庶?
獲取uri判斷如果是登陸資源,放行铜异,如果不是判斷用戶是否已經(jīng)登錄如果登錄且session沒有失效
獲取session中的user如果不為null放行哥倔,如果沒有登錄過,或者失效熙掺,則請(qǐng)求轉(zhuǎn)發(fā)到登錄頁面未斑,并
添加提示信息,在前端jsp頁面接受
如何防止用戶越級(jí)訪問币绩?
通過濾器?
防止越級(jí)訪問,即普通用戶訪問高端資源
首先對(duì)靜態(tài)資源和登錄資源放行
登錄后獲取session里面的值府阀,然后獲取session里面的user缆镣,根據(jù)user
獲取funs集合,然后比遍歷 在外部定義一個(gè)flag 為false试浙,遍歷的時(shí)
調(diào)用rui.indexOf(f.getFunurl()) 不等于-1將flag的值賦值為true
Break董瞻;跳出本次循環(huán)
最后在for外判斷flag 如果為true 放行
如果為false 重定向到無權(quán)訪問頁面