数据权限通用设计方案

问题引出

最近,许多学员反馈项目中需要处理数据权限,但是不知道怎么处理比较合适。这篇手记将针对这个问题,给出一种比较通用且容易扩展的数据权限设计方案。

现状

目前流行的权限框架已经有支持数据权限的了,但是需要配置在接口和方法上,扩展性不是很好,那么怎样做能让扩展性最大化呢?

很容易想到的就是:将数据权限的控制放到数据库里存储,在权限拦截时先判断接口是否有权访问,在接口有权访问后,接下来根据配置的条件判断是否有权使用指定的参数值。(做的更高级些,可以对返回的结果进行检查,包含了某个值的某个对象不允许访问的话,也当做无权访问处理,这篇手记里暂时不考虑这个情况)。具体怎么做呢?

数据库设计

先从数据库表设计说起,首先定义一个数据权限控制表结构:

    CREATE TABLE `sys_acl_data` (
        `id` int(11) NOT NULL,
        `acl_id` int(11) NOT NULL COMMENT '对应权限表主键',
        `status` tinyint(4) NOT NULL DEFAULT 1 COMMENT '状态,1:可用,0:不可用',
        `param` varchar(20) NOT NULL DEFAULT '' COMMENT '参数',
        `operation` int(11) NOT NULL DEFAULT 0 COMMENT '操作类型,0;等于,1:大于,2:小于,3:大于等于,4:小于等于,5:包含,6:介于之间,。。。',
        `value1` varchar(100) NOT NULL DEFAULT '0',
        `value2` varchar(100) NOT NULL DEFAULT '0',
        `next_param_op` int(11) NOT NULL DEFAULT 0 COMMENT '后续有参数时连接的关系,0:没有其他参数控制,1:与&&,2:或||',
        `seq` tinyint(4) NOT NULL DEFAULT '0' COMMENT '顺序',
        PRIMARY KEY (`id`),
        INDEX `idx_acl_id` USING BTREE (`acl_id
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 有很多优秀的通用后台管理模板可供选择,以下是一些比较流行的: 1. Ant Design Pro:基于 Ant Design 设计语言的企业级中后台前端/设计解决方案。 2. Element-UI:Element-UI 的后台管理系统解决方案。 3. Vue-Element-Admin:基于 vue 和 element-ui 的后台管理系统解决方案。 4. NG-Zorro:基于 Ant Design of Angular 设计体系的企业级中后台应用解决方案。 5. Bootstrap Admin:基于 Bootstrap 的后台管理系统解决方案。 这些模板都具有不同的特色和功能,您可以根据自己的需求选择适合自己的模板。 ### 回答2: 通用后台管理模板是一种针对各种类型网站后台管理功能的模板,通过提供一系列预设的样式和功能,使网站管理员能够快速搭建和管理网站后台。 通用后台管理模板一般具备以下功能: 1. 用户管理:可以管理网站的注册用户,包括添加、删除、修改用户信息等功能。 2. 权限管理:可以定义不同用户角色的权限,并给予不同角色对应的功能访问权限。 3. 数据管理:可以对网站的各项数据进行管理和操作,包括文章、评论、图片等。 4. 数据统计:提供网站的访问统计和数据分析,如用户数量、访问量等数据展示和分析。 5. 消息通知:可以实现对用户的消息通知功能,包括站内信、邮件提醒等。 6. 系统设置:提供对网站的基本设置功能,如网站名称、LOGO、主题风格等。 7. 插件扩展:支持对后台功能进行插件扩展,可以根据具体需求自定义添加功能。 通用后台管理模板的优点是提供了一种快速、便捷的方式来搭建和管理网站后台,管理员无需从零开始开发,只需根据模板进行一些定制和配置,就能快速获得一个功能齐全的后台管理系统。同时,通用后台管理模板还具有较强的可扩展性和灵活性,可以根据实际需求进行功能的添加和修改,满足不同网站的特定需求。 总之,通用后台管理模板是一种方便、高效的网站后台管理解决方案,可以大大提升网站管理员的工作效率和用户管理能力。 ### 回答3: 通用后台管理模板是一种为企业或个人搭建和管理后台系统所设计的模板。它可以提供一个统一的界面和功能,方便用户进行业务管理和信息查询。该模板通常包含了常见的管理功能模块,如用户管理、权限管理、数据管理等,用户可以根据自己的需求进行定制和扩展。 通用后台管理模板具有以下特点: 1. 界面简洁美观:模板一般具有现代化的设计风格,界面简洁、美观,用户可以直观地进行操作。 2. 功能模块丰富:通用后台管理模板通常包含了常见的功能模块,如用户管理、权限管理、数据管理、日志管理等,用户可以根据实际需求选择使用。 3. 可定制和扩展:模板中的功能模块可以根据用户的需求进行定制和扩展,用户可以根据自己的业务逻辑添加或修改功能。 4. 响应式设计:模板通常采用响应式设计,可以适配不同尺寸的屏幕,如手机、平板电脑和电脑等,方便用户在不同设备上进行管理操作。 5. 易于使用和维护:通用后台管理模板一般具有良好的用户体验,简化了用户的学习成本,同时也方便系统的维护和更新。 总之,通用后台管理模板的出现极大地简化了企业和个人搭建后台系统的成本和工作量,同时也提高了管理效率和用户体验。它是一种快速搭建和管理后台系统的利器,对于很多企业和个人来说具有重要的价值和意义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值