### 1. 架构预览
![](https://pic.52lhd.com/blog/20191229155445331.png)
大家可以看到单机版的前后分离RBAC系统主要包括
- 客户端(PC、IOS、安卓、小程序、H5)
- Nginx反向代理
- 后端服务(Security鉴权、Restful接口、服务层)
很好的理解为一个普通的单机服务重点在于安全权限这一块其他的没什么了
### 2.技术栈
![](https://pic.52lhd.com/blog/20191229155927050.png)
所用到的技术栈都是最常使用的
#### 前端:
- Vue + vue-cli + Vue-Router + vuex + axios
- vue-cli:搭建基本的vue项目骨架,脚手架工具
- vuex:管理复杂的数据流向,状态机工具,特化的Flux
- vue-router:实现SPA间“页面”之间的跳转
- axios:http工具,实现向API请求数据,以及拦截器的实现
#### 后端:
- 基于 Spring Boot 2.2.2 、Spring Security 的RBAC权限管理系统
- 基于 Vue UI框架 Element-ui组件开发
- 基于 Mybatis Plus 简化开发、数据隔离等
- 项目均使用 Lambda 、Stream Api 的风格编码
- 基于 Spring Social 的第三方社交登录无缝对接spring security
- 基于ELK+filebeat实现日志管理系统
### 3. 系统概要
#### 3.1.权限管理
##### 3.1.1.为什么需要权限管理?
安全性:误操作,人为破坏,数据泄露等
数据隔离:不同权限能看到及操作不同的数据
明确职责:运营,客服等不同角色,等级不同
##### 3.1.2.权限管理的核心是什么?
1.用户-权限:人员少,功能固定,或特别简单的系统
2.RBAC:用户-角色-权限 所有系统都适用
![](https://pic.52lhd.com/blog/20191229160411694.png)
#### 3.2.权限框架
![](https://pic.52lhd.com/blog/20191229160524387.png)
Spring Security是一套安全框架,可以基于RBAC(基于角色的权限控制)对用户的访问权限进行控制
主要是认证和验证
Basic 认证:Basic 认证是HTTP 中非常简单的认证方式,因为简单,
所以不是很安全,不过仍然非常常用。
Digest 认证:客户端请求资源->服务器返回认证标示->
客户端发送认证信息->服务器查验认证,
如果成功则继续资源传送,否则直接断开连接。
x.509认证:数字认证
LDAP 认证:LDAP认证是通过WSS3.0加上轻量目录LDAP
协议搭建的种认证方式,使用https加密传输,
主要用于做文档管理。
From 认证:表单认证
#### 3.3.登录认证流程图
![](https://pic.52lhd.com/blog/20191229160747067.png)
#### 3.4 权限认证流程图
![](https://pic.52lhd.com/blog/20191229160746698.png)
- 快速了解
- 1. 项目简介
- 2. 系统核心业务架构
- 3. 系统技术架构
- 使用教程
- 导入项目
- 1. 环境准备
- 2. 后端项目
- 3. 前端项目
- 开发文档
- 后端开发文档
- 1. 项目目录结构
- 2. 如何二次开发
- 3. 数据权限实现
- 4. 如何控制权限
- 5. 操作日志介绍
- 6. 如何获取当前登录用户信息
- 前端开发文档
- 1. 项目目录结构
- 2. 如何二次开发
- 更新日志
- 第三方登录说明
- 搭建教程
- 第一章.基础框架搭建
- 1.1.整体架构预览
- 1.2.基础架构搭建
- 1.3.配置文件
- 第二章.架构完善
- 2.1.搭建upms模块
- 2.2.参数统一化
- 2.3.异常处理
- 第三章.完善登录流程
- 3.1.表结构设计
- 3.2.引入安全框架
- 3.3.引入JWT
- 3.4.完善登录
- 3.5.演示登录
- 3.6.整合图形验证码
- 7.7.完善验证码登录
- 第四章. 前端系统搭建
- 4.1.前端基础架构搭建
- 4.2.封装Axios