通用数据级别权限的框架设计与实现(1)-相关业务场景的分析

我们做权限系统的时候,经常要考虑几个问题。

  • 这个功能他没有权限看,不能允许他访问。
  • 这笔记录他不能看到呀,不能允许他能看到相关记录. 相信对于第一个问题,很多人都能做到。 那个功能的权限拦截,用很多开源的框架都能实现,如shiro,security。 但后面的数据权限,就很多人也没有考虑进去,或者考虑进去了,也都是硬编码,没有考虑通用性,包括我现在的所在公司。 就算有些人做了数据级别的权限控制,也只针对系统列表,即打开系统功能时,只显示哪些我能看到的数据,但这个有数据安全风险。 如我知道一些我没权限看到的主键ID,是否就能通过这个ID来获取我要看到的数据记录呢.

业务场景分析如下:

  1. 业务人员登陆系统后,只看到我相关的列表数据。
  2. 业务人员,如果是属于某个角色,就能看到全部数据。
  3. 业务人员,如果不属于某些角色,就只能看到部分数据
  4. 业务人员打开单据时,只能看到他能看的数据,如果不能看到,则提示无权限.

个人代码已经完成,如需要请打赏后通知我。谢谢,如果你觉得该文章对你有帮助,麻烦点赞。 欢迎继续查看下篇文章-通用数据级别权限的框架设计与实现(2)-数据权限的准备工作

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Petrichor的专栏

git: 简洁高效 的 双分支式 git flow (master + dev)

使用 git branch (git 分支)进行版本控制,可以让大家有效地合作,使得项目井井有条地发展下去。

23130
来自专栏FreeBuf

某搜索引擎Self-XSS点击劫持案例分享

在AI横飞的今天,网站页面不挂个聊天机器人都会觉得low,笔者在某搜索引擎的页面上就发现了这样一个聊天AI,无聊一试发现了一个xss。

12630
来自专栏

记录服务上线一年来的点点滴滴

2015年12月,也就是在一年前,开发了半年的云存储服务上线。这对于付出了半年努力的我们来说,是一件鼓舞人心的事件。因为这个服务在我们手上经历了从0到1的过程。...

21250
来自专栏Java技术栈

Redis 的 8 大应用场景!

之前讲过Redis的介绍,及使用Redis带来的优势,这章整理了一下Redis的应用场景,也是非常重要的,学不学得好,能正常落地是关键。

18830
来自专栏python开发者

软件开发过程自动化原理及技术(完整示例)

软件开发过程自动化原理及技术 一个简单完整的自动化示例 1   概述 关于本文,最开始只是想写一些关于 软件自动化测试开发 的文章,但是后来写着写着,发现不先在...

29550
来自专栏CSDN技术头条

社交产品后端架构设计

本篇文章会向读者展示几个架构设计的关键点,使一个社交应用能够成为真正的下一代社交产品。以下几个属性将会影响到架构的设计: a)可用性 b)可扩展性 c)性能...

27970
来自专栏极客猴

10张图带你了解后台服务架构演变

上篇文章讲了一些高并发相关的知识,相信大家对高并发有些简单的认识。说到高并发,往往离不开分布式系统。人们经常将两者拿来一起讨论,因为高并发(High Concu...

1K20
来自专栏逸鹏说道

【开源】简单4步搞定QQ登录,无需什么代码功底 下 ~ Net程序员的福利

【开源】简单4步搞定QQ登录,无需什么代码功底【无语言界限】下 ~ Net程序员的福利 上一节我们通过通用封装说了下QQ登录的申请和通用讲解,【开源】简单4步搞...

29160
来自专栏哲学驱动设计

OEA框架 2.9 Pre-Alpha 源码公布

    OEA框架 从 2009 年发布“第一个版本”之后,历时三年,现在终于又公开向大家开放最新的源代码。三年来,许多朋友都关心 OEA 是否还在开发,是否还...

21170
来自专栏java一日一条

影响Java EE性能的十大问题

本文作者是一名有10多年经验的高级系统架构师,他的主要专业领域是Java EE、中间件和JVM技术。他在性能优化和提升方面也有很深刻的见解,下面他将和大家分享一...

10720

扫码关注云+社区

领取腾讯云代金券