RBAC和防止越级访问

RBAC(Role-Based Access Control )基于角色的访问控制。

RBAC模型家族其中,包括了RBAC0-RBAC3四个概念

RBAC0    定义了能构成一个RBAC控制系统的最小的元素集合。

RBAC1    引入了角色间的继承关系

RBAC2    该模型中添加了责任分离关系

RBAC3    包含了RBAC1和RBAC2 即引入了角色间的继承关系       

                又添加了责任分离关系

如何防止直接访问jsp页面?

获取uri判断如果是登陆资源,放行,如果不是判断用户是否已经登录如果登录且session没有失效

获取session中的user如果不为null放行,如果没有登录过,或者失效,则请求转发到登录页面,并

添加提示信息,在前端jsp页面接受

如何防止用户越级访问?

通过滤器 

防止越级访问,即普通用户访问高端资源

首先对静态资源和登录资源放行

登录后获取session里面的值,然后获取session里面的user,根据user

获取funs集合,然后比遍历 在外部定义一个flag 为false,遍历的时

调用rui.indexOf(f.getFunurl()) 不等于-1将flag的值赋值为true

Break;跳出本次循环

最后在for外判断flag 如果为true 放行

如果为false 重定向到无权访问页面


你可能感兴趣的:(RBAC和防止越级访问)