基于ssm的RBAC的URL拦截的粗细粒度权限管理模块

基于ssm的RBAC的URL拦截的粗细粒度权限管理模块

前段时间在做后台管理的时候,要对用户进行认证和授权,开始想用一些框架:比如shiro、spring security ,但是使用都比较繁琐(shiro还好,特别是spring security)于是自己用springmvc的拦截器自己实现的认证授权,考虑到小项目每次都要实现用户、角色、资源模块的开发,所以就做成了模块,在一些简单的项目中可以直接使用;
下面开始:
1.一些知识粗细粒度的知识(网上很多,而且都很详细,大致说下)
首先要知道:

  • 权限管理:比较好理解的就是对用户访问系统的控制,分为认证和授权两部分;

    • 认证:就是验证访问系统的身份信息是否正确比如:登陆、指纹识别、人脸识别、刷卡等
    • 授权:认证通过后需要根据用户的身份信息查询相应的授权信息,判断当前访问的资源是否可以访问;通俗说就是判断你有没有权力访问一些信息
  • 权限模型
    基于ssm的RBAC的URL拦截的粗细粒度权限管理模块

  • RBAC的概念

    • RBAC(role based access control)基于角色的权限控制:通过判断用户是否具有某种角色来控制访问
      伪代码为:if(user.hasRole(角色))
      缺点:以角色进行访问控制粒度较粗,而且当控制资源的角色发生变化时,就会必须更改代码
    • RBAC(resource based access control)基于资源的权限控制:通过用户来查找角色集合,再通过角色集合得到资源许可集合,判断访问资源是否被授权
      伪代码为:if(user.hasPermission(资源))
      优点:访问控制粒度较细,而且资源是不变而且是有限的,所以当资源的角色发送变化,不用改变代码
  • 粗细粒度权限控制

    • 粗粒度:对资源类型的管理称为粗颗粒度权限管理,即只控制到菜单、按钮、方法;一般在系统架构级别实现;
    • 细粒度:控制到数据级别的权限,比如:用户只允许修改本部门的员工信息,区域经理只允许查本区域的信息;目前无法在架构级别实现,一般在业务层实现;

2.啰嗦完了,看效果图

  • 登陆:拦截器实现
    基于ssm的RBAC的URL拦截的粗细粒度权限管理模块
  • 主页面
    基于ssm的RBAC的URL拦截的粗细粒度权限管理模块
  • 用户界面:实现用户的增删改查、角色授权
    基于ssm的RBAC的URL拦截的粗细粒度权限管理模块基于ssm的RBAC的URL拦截的粗细粒度权限管理模块
  • 角色界面:实现角色的增删改查、资源授权
    基于ssm的RBAC的URL拦截的粗细粒度权限管理模块
    基于ssm的RBAC的URL拦截的粗细粒度权限管理模块
  • 资源界面:实现资源的增删改查

基于ssm的RBAC的URL拦截的粗细粒度权限管理模块

模块地址:GitHub下载地址

后面会再用shiro框架写一个;