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