权限是每个系统都必须要的,现在整理下一个权限框架应该具有的功能
权限应该分为菜单级和数据级
1.菜单级
菜单级包括我们常说的系统菜单,也可以细到一个操作按钮,例如删除按钮操作。
2.数据级
2.1行数据级
行数据级指的是对于同一张表的数据不同用户具有查看不同行的数据
2.2列数据级
列数据级指的是对于同一张表的数据不同用户显示不同列的数据
要求:
菜单级和数据级权限进行验证的前提条件是用户必须登录
1.菜单级
1.1每个菜单级权限如果带有url地址,那么就是在浏览器输入此地址也不能进行访问,不能只在表面做文章
1.2每个菜单级权限可以进行动态的添加和删除,并且在不需要重新启动系统即可立即生效
1.3菜单级权限最好根据每个登录用户不同动态显示菜单,而不是在主页面中把所有的权限都列出来,通过判断语句来决定哪个显示哪个不显示(细粒度的操作权限可以不动态生成)
2.数据级
1.1数据级权限可以进行动态的添加和删除,并且在不需要重新启动系统即可立即生效
3.白名单
白名单作用是无论用户是否登录该资源都可以访问
3.1白名单可以进行动态的添加和删除,并且在不需要重启系统即可生效
4.黑名单
黑名单作用任何人都不可以访问该资源
4.1黑名单可以进行动态的添加和删除,并且在不需要重启系统即可生效
5.用户权限
用户具有的权限既可以直接来自其角色,也可以直接分配某一权限(此情况为了满足有的业务突然要求某人有某一个权限)