细粒度权限控制之落地篇下传
前篇介绍了如果对前端菜单和按钮进行动态的展示和隐藏,但是读者应该会想到 前端菜单和按钮的隐藏只不过是为了增加用户体验,实际上后端还要加上相关权限的验证,比如具体到某个接口的权限控制。
本来想介绍shiro如何对接口进行权限控制,后来想想如何和市面上讲的那些理论一样,那样的话多么索然无味,所以接下来将给读者介绍一种 "土" 方法,即很原生态的一种权限控制。
当用户登录时,后台将该用户拥有的权限集合 存储到容器中,这里容器可以是 session 或者其它都可以;然后我们是否也能给某个接口 设置个唯一标识,当某个接口被调用时,先判断 权限集合 是否包含 该唯一标识,如果 包含,那么程序继续执行; 如果不包含,直接抛出个 "该用户不存在该权限" 的异常。通常该接口的唯一标识要和前端的某个按钮的唯一标识 进行一一对应,这样方便开发。
这里贴张图,让大家冷静冷静!!!
最后小小的总结, 后端某个接口也可以设置某个唯一标识,如果用户拥有该唯一标识,说明该用户有访问这个接口的权限,反之,没有访问该接口的权限。