使用 SpringBoot + SpringDataJpa 设计一个通用权限管理系统

一、前言

1、2018.11 月份,笔者参与了 广东海洋大学课室管理系统 的开发,开发人员由 ITAEM 软件开发团队(艾腾团队)组成。
2、笔者之前参与过 广东海洋大学学生宿舍管理系统 的开发,这次不打算参与无脑耗时的业务逻辑模块(CRUD),负责权限管理系统模块。
3、起初打算使用 Shiro/SpringSecurity 来做个这个权限管理系统的。但是由于时间紧迫,业务人员已经写了很多接口了。而框架带来优点的同时,也带来了限制,使用框架,可能导致很多后台接口要重写。为了稳住队友的心态,打算写个低侵入式的权限管理系统,不得不放弃框架,使用了基本的 SpringBoot ,愿一切顺利。

二、资料

1、代码 GitHub 地址:

https://github.com/larger5/SpringBoot_SpringDataJpa_RBAC.git

2、代码结构关系

在这里插入图片描述

3、数据库表关系

demo 中数据库中表对创建、关系都是有 SpringDataJpa 自动生成的
在这里插入图片描述

4、权限接口测试

本 demo 使用了 Swagger,可以很轻松地对接口进行测试。
在这里插入图片描述

三、思路

1、数据库设计

使用 用户表、角色表、权限表,以及 用户角色、角色权限表 两张关系表。

2、拦截器

使用两个 Spring 式对拦截器
① 身份认证
② 授权
Shiro、SpringSecurity 也是这种模式。

四、其他

在做个项目之前,打算考虑使用基于 SpringBootrenren-fast 框架的,里边自动含有了 RBAC 权限模块。

目前系统迭代更新中,
① 使用 md5 进行加密
② 基于用户 id 的签名认证,否则登陆一个账号,就可以对同级对所有账号进行后台操作。
③ 。。。

有空再续。

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页