我更改hive源码,定制化了外部字段级鉴权逻辑,因此我现在需要一个用户以及字段权限关系的数据库设计,初步想法是两张表,一张用户表,关键字段表id和用户名,另一张表为字段权限,关键字段为用户id、字段名、读写权限的标识。但是这样每条记录只针对一个字段以及一个用户,最终鉴权是通过返回的字段权限查询数据集个数,或者是细化到权限集合判断是否存在元素。有没有更优的方案能够节省数据库空间或者是效率上更优秀。
6条回答 默认 最新
阿里嘎多学长 2025-06-10 06:56关注阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程
探讨一个表权限系统表设计方案
你想要设计一个表权限系统,用于存储用户和字段的权限关系。根据你的描述,两张表可以满足你的需求:用户表和字段权限表。
用户表
字段名 数据类型 描述 id int 用户ID username string 用户名 字段权限表
字段名 数据类型 描述 id int 主键 user_id int 用户ID(外键,引用用户表的id) field_name string 字段名 permission boolean 字段权限(true表示有权限,false表示无权限) 在上面的设计中,我们使用了外键来关联用户表和字段权限表。这样可以确保每个字段权限都关联到一个具体的用户。
如果你需要更多的权限信息,可以添加更多的字段到字段权限表中,例如:
- permission_type:表示权限类型(例如,读、写、删除等)
- permission_level:表示权限级别(例如,高级、低级等)
需要注意的是,这只是一个基本的设计,你可能需要根据你的实际需求进行修改和扩展。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报