产品设计Demo - 一体化平台的设计之系统管理模块(二)

以下是原型设计图

用户管理

权限管理

 

角色管理

 

数据库设计

    DROP TABLE IF EXISTS `t_role`;
    CREATE TABLE `t_role` (
    `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
    `pid` bigint(20) NOT NULL COMMENT '父角色',
    `name` varchar(20) NOT NULL COMMENT '角色名称',
    `authorities` json NOT NULL COMMENT '权限(Id:名称),示例:[{2:列表},{1:添加}]',
    `creator` varchar(20) NOT NULL COMMENT '创建人',
    `create_time` datetime NOT NULL COMMENT '创建时间',
    `updator` varchar(20) NOT NULL COMMENT '更新人',
    `update_time` datetime NOT NULL COMMENT '更新时间',
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='角色表';        
            
    DROP TABLE IF EXISTS `t_authority`;
    CREATE TABLE `t_authority` (
    `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
    `pid` bigint(20) NOT NULL COMMENT '父级id',
    `name` varchar(20) NOT NULL COMMENT '权限名称',
    `uri` varchar(64) NOT NULL COMMENT '访问的接口路径(不包含父级),如/list、/update',
    `type` int NOT NULL COMMENT '1是公共权限,2是私有权限',
    `creator` varchar(20) NOT NULL COMMENT '创建人',
    `create_time` datetime NOT NULL COMMENT '创建时间',
    `updator` varchar(20) NOT NULL COMMENT '更新人',
    `update_time` datetime NOT NULL COMMENT '更新时间',
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='权限表';            
        
    DROP TABLE IF EXISTS `t_data_authority`;
    CREATE TABLE `t_authority` (
    `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
    `authority_id` bigint(20) NOT NULL COMMENT '权限id',
    `meaning` varchar(20) NOT NULL COMMENT '字段意义',
    `feild` varchar(38) NOT NULL COMMENT '字段名',
    `symbol` varchar(8) NOT NULL COMMENT '数据过滤符号,= != > <',
    `data` json NOT NULL COMMENT '规则数据,{"vip","svip"}',
    `creator` varchar(20) NOT NULL COMMENT '创建人',
    `create_time` datetime NOT NULL COMMENT '创建时间',
    `updator` varchar(20) NOT NULL COMMENT '更新人',
    `update_time` datetime NOT NULL COMMENT '更新时间',
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='数据权限表';          

 

实现思路

前端

    每一个权限都会有标识,前端就是根据这个标识来决定这个功能是否展示,如果在登陆后,后端返回的数据中是没有这个标识的,则隐藏。

 

后端

    后端不需要使用任何框架。

    后端在系统启动时,就把数据权限表、权限表、角色表的数据,全部加载到Redis中。

    用户在登陆时,验证成功后,则查出用户对应的信息与权限,并拼接好权限的完整URI(父级URI,完整的URI是类似:/member/info/add),并缓存到Redis中,以及返回给前端。

    拦截器,先判断用户是否已登录,在判断此URI是否是公有URI,是的话,则直接放行,否则就根据访问的URI进行拦截,如果在缓存中没有找到其用户对应接口访问的URI的权限,则返回,并告知,无权限操作。

    在后续的权限验证过程中,建议新建一个公共项目,这个项目就是专门验证数据权限的,并且如果是特殊的数据权限处理,则通过不同的包名做区分,如果后面流量到了,要可以单独部署。

    无论在什么项目中,这个都作为基础模块,如果有别的功能需要用到不同的权限或角色,例如部门管理,不同部门看到不同的数据,那么则通过部门关联到对应的角色即可,一通百通。

 

账号管理

 

系统接口管理

代理服务管理

内部服务接口管理

 

系统信息配置

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值