目录-入口-由此开始-大纲-总览-概括-枢纽-指导-指引-总领 教程-指南-路线 身份-权限 身份验证-权限校验-鉴权-权限验证-身份校验-权限控制
梗概
环境配置
运行环境
- 开发时
- 前端
- 运行打包出来的代码
- use::服务器
- 运行打包出来的代码
- 后端
- 前端
实例
运行音乐平台web app
https://github.com/Yin-Hongwei/music-website
- 数据库独立于项目之外,是运行主机上的共享资源
- 需要安装项目使用到的数据库,并将其与项目对接
- 创建目标数据库
- 推荐使用DBeaver
- 通常项目中带有数据库创建脚本
- 脚本的名字一般是数据库的名字
- 一般只创建对应的表
- 一般需要创建一个表
- 与项目对接
- 如配置用户名、密码等
- 配置项目与数据库的连接
- 创建目标数据库
- 需要安装项目使用到的数据库,并将其与项目对接
- 需要单独运行后端服务器
- 运行spring-boot项目
- 一般同时开启两种服务:
- Web服务(用于给用户返回前端应用)
- API服务(用于与前端应用进行交互,并执行业务逻辑)
- docker的配置方式
- docker可以将项目所有需要的东西都打包在项目内
- 包括数据库
- docker可以将项目所有需要的东西都打包在项目内
- 有时候前端应用的服务器需要单独运行
webAPP开发
基本概念
web页面的刷新
以前,web都是每一步操作都是要刷新整个页面 现在,web通常为异步刷新,即局部刷新
安全
常见攻击
身份验证(鉴权)
基本概念
- child::后端鉴权
技术栈
内容限制
- child::CSP
开发框架
- child::JavaWeb
- child::web低代码平台
- child::JavaScript框架
JavaScript语言
前端
后端
- 在Node.js环境中开发,并且开发出来的后端应用直接运行在node.js环境中
界面交互
- child::设计界面交互
错误监测
child::错误监测
适用范围
- 传统基于浏览器的web app有非常多的权限限制
- 对操作系统的操作权限被浏览器限制了
- 嵌套在原生应用上的web app就可以打破浏览器的沙河限制
- 是目前国内的主流方案
实例:
开源项目: 自动生成sql数据
自制数据生成工具代码公开!拿去做毕设~_哔哩哔哩_bilibili
用户前台
- 可视化建表
- 快捷导入建表
- 智能导入
- 导入表
- 导入配置
- 导入建表 SQL
- 导入 Excel
- 一键生成
- SQL 建表、插入数据语句
- 模拟数据
- JSON 数据
- Java 代码
- 前端代码
- 多种模拟数据生成规则
- 固定值
- 随机值
- 正则表达式
- 递增
- 定制词库
- 词库共享
- 创建词库
- 词库继承
- 一键创建字典表
- 根据词库生成模拟数据(可以用来决定午饭吃什么哈哈)
- 表信息共享
- 创建表信息
- 一键复制建表语句
- 一键导入表
- 字段共享
- 创建字段
- 一键复制创建字段语句
- 一键导入字段
- 举报
管理后台
- 用户管理
- 词库管理
- 表信息管理
- 字段信息管理
- 举报管理
技术栈
前端
主要技术:
- React 18
- Umi 4.x
- Ant Design 4.x 组件库
- Ant Design Pro Components 高级组件
- TypeScript 类型控制
- Eslint 代码规范控制
- Prettier 美化代码 依赖库:
- monaco-editor 代码编辑器
- copy-to-clipboard 剪切板复制
后端
主要技术:
- Spring Boot 2.7.x
- MyBatis Plus 3.5.x
- MySQL 8.x
- Spring AOP 依赖库:
- FreeMarker:模板引擎
- Druid:SQL 解析
- datafaker:模拟数据
- Apache Commons Lang3:工具库
- Hutool:工具库
- Gson:Json 解析
- Easy Excel:Excel 导入导出
- Knife4j:接口文档生成