1 背景
新建用户,通过角色给用户账号赋予菜单权限,如,新建用户A,角色为a,而a角色拥有菜单bcd的权限,那么此时,用户A就可以访问菜单bcd
注意,这里只是针对后端,如果是加权限的话,即用户登录后前端通过账号权限进行菜单过滤,用户不拥有的菜单权限,前端直接不展示,即相当于用户在前端界面也访问不到,这样相当于做的是假权限,但是这样的情况下,通过postman其实也还是可以直接访问后端接口的,所以这里做的权限是针对后端的权限,即如果账号没有相应权限的话,通过postman直接调也是不能调通的
2 解决
接口访问路径存到数据库里,通过这个路径比对来进行权限的校验
需要的表格
用户表
菜单角色关联表
菜单表
大概思路:
1 新建用户A ,赋予B角色(拥有菜单abc权限)
2 用户登录,拦截器拦截HttpServletRequest请求,获取到访问的url
3 拿这个url去与菜单表里的 api_permission对比,有则放行,无则不放行