我见过的最奇葩的权限设计思路

简介: 我见过的最奇葩的权限设计思路

需求很简单,就是为一个功能设计一个权限,一个功能包含的权限一共四个,固定的,不会增加也不会减少,即增加,修改,删除和查询,可以多选。

按照常规的设计,后台的表可以是一个表也可以是两个表,一个表如下左所示,两个表如下右所示:

微信截图_20230306123046.png

不管是一个表还是两个表,功能权限可以直接存汉字增删改查,也可以存英文CODE或者存1,2,3,4去表示。这里不考虑那种设计更好,重点是存的权限的值的问题。这种奇葩的设计是采用了一张表的设计,功能权限字段存的值是二进制位。增删改查对应的数字是1,2,4,8,前端就是四个CheckBox支持多选的那种,当客户选择的时候,后端将选择的值转换成二进制位,做相加移位操作,将最后的结过存到表中,当要查询出来输出到页面上时,再将该字段的值做分解,分解出选择的数量以及选择的数值是啥。当时看到这个功能的时候,果断重新写了一下,因为一方面感觉很别扭,另一方面是太高深了,虽然不考虑扩展性,也不至于用移位操作和数的分解操作,之前做这种设计的人应该是个"高手"。

目录
相关文章
|
缓存 测试技术 API
告别加班!Django/Flask高级技巧,让你的Web开发效率翻倍再翻倍!
【7月更文挑战第15天】探索Django与Flask高效秘籍:**利用模板继承减少重复代码,自动化测试确保质量,缓存提升性能。通过模板继承实现DRY原则,自动化测试框架如Django的`TestCase`和Flask的`pytest`加快调试,缓存机制(Django的低级别缓存API或Flask-Caching)优化页面加载。掌握这些技巧,告别加班,提升开发体验!
483 3
|
前端开发
Github项目分享——免费的画图工具drow,最新前端面试题整理
Github项目分享——免费的画图工具drow,最新前端面试题整理
|
SQL XML Java
(一)Mybatis-plus(MP)中CRUD操作保姆级笔记
🍅 Java学习路线:搬砖工的Java学习路线 🍅 作者:程序员小王 🍅 程序员小王的博客:https://www.wolai.com/wnaghengjie/ahNwvAUPG2Hb1Sy7Z8waaF 🍅 扫描主页左侧二维码,加我微信 一起学习、一起进步 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕
820 0
(一)Mybatis-plus(MP)中CRUD操作保姆级笔记
|
存储 算法 Java
Java集合框架知识点的学习核心总结
Java集合框架是Java中用于存储和操作数据的一组类和接口。以下是Java集合框架知识点的学习核心总结
120 1
|
机器学习/深度学习 自然语言处理 Python
GPT-3解数学题准确率升至92.5%!微软提出MathPrompter,无需微调即可打造「理科」语言模型
GPT-3解数学题准确率升至92.5%!微软提出MathPrompter,无需微调即可打造「理科」语言模型
506 0
|
存储 Swift
Swift5.1—字符串的Unicode表示形式
Swift5.1—字符串的Unicode表示形式
584 0
Swift5.1—字符串的Unicode表示形式
|
前端开发
node-04-server基础
http协议:基于请求和响应的模式,客户端向服务端发起请求,服务端接收到请求后返回数据 完成本次请求 一次请求完成之后,客户端与服务器断开连接,短连接
176 0
node-04-server基础
|
JavaScript
剑指Offer——复杂链表的复制(JS实现)
剑指Offer——复杂链表的复制(JS实现)
240 0
剑指Offer——复杂链表的复制(JS实现)
|
机器学习/深度学习 安全 物联网
AWS Submit 2016 观感
版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。
1103 1