我们做权限系统的时候,经常要考虑几个问题。
- 这个功能他没有权限看,不能允许他访问。
- 这笔记录他不能看到呀,不能允许他能看到相关记录.
相信对于第一个问题,很多人都能做到。
那个功能的权限拦截,用很多开源的框架都能实现,如shiro,security。
但后面的数据权限,就很多人也没有考虑进去,或者考虑进去了,也都是硬编码,没有考虑通用性,包括我现在的所在公司。
就算有些人做了数据级别的权限控制,也只针对系统列表,即打开系统功能时,只显示哪些我能看到的数据,但这个有数据安全风险。
如我知道一些我没权限看到的主键ID,是否就能通过这个ID来获取我要看到的数据记录呢.
业务场景分析如下:
- 业务人员登陆系统后,只看到我相关的列表数据。
- 业务人员,如果是属于某个角色,就能看到全部数据。
- 业务人员,如果不属于某些角色,就只能看到部分数据
- 业务人员打开单据时,只能看到他能看的数据,如果不能看到,则提示无权限.
个人代码已经完成,如需要请打赏后通知我。谢谢,如果你觉得该文章对你有帮助,麻烦点赞。
欢迎继续查看下篇文章-通用数据级别权限的框架设计与实现(2)-数据权限的准备工作