21k 19 分钟

# scaffold 项目之多租户字段隔离 # 多租户是什么? 多租户,简单来说是指一个业务,区分 多个组织单位 ,每个组织单位之间的数据是 相互隔离 的。 例如说,有一个系统,可以支持不同公司使用,这里的 一个公司就是一个租户 。 每个用户必然是属于某一个租户的。因此,用户也只能看到自己租户下的内容,其他的租户内容是看不到的。 # 数据的隔离方案 多租户隔的数据隔离方案,有以下几种方式: DATASOURCE 模式: 独立数据库模式 SCHEMA 模式:共享数据库,独立 SCHEMA 模式 COLUMN 模式:共享数据库,共享 SCHEMA,共享数据表模式 # DATASOURCE...
25k 23 分钟

# scaffold 项目之 websocket 实时通信 # 功能简介 WebSocket 是一种网络通信协议,提供了在单个 TCP 连接上进行全双工通信的能力。它是 HTML5 规范的一部分,被设计用来替代轮询和长轮询等传统技术,以实现服务器与客户端之间的实时双向通信。WebSocket 的主要优势在于: 全双工通信:服务器和客户端可以在任何时刻互相发送数据,不需要像 HTTP 请求那样等待对方完成响应。 持久连接:一旦 WebSocket 连接建立,它会保持开放状态,直到客户端或服务器决定关闭连接。 减少开销:WebSocket...
4k 4 分钟

# scaffold 项目之第三方登陆 # 三方登陆 系统支持对接国内多个第三方平台,实现三方登陆功能。快捷登陆方式。例如: 管理后台:企业微信、阿里钉钉 用户 App:微信公众号、微信小程序、qq # 表结构 三方登陆完成时,系统会将三方用户存储到 system_social_user 表中,通过 type 标记对应的第三方平台。 未关联本系统 User 的第三方用户,需要在三方登陆完成后,使用账号密码进行【绑定登陆】,成功后记录到 system_social_user_bind 表中。 已关联本系统 User 的第三方用户,在三方登陆完成后,直接进入系统,既 快捷登陆 。 #...
9.2k 8 分钟

# scaffold 项目之单点登陆 oauth # 简介 OAuth 2.0 是一个开放标准,用于授权。它允许用户让第三方应用访问该用户在某一网站上存储的私密资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。OAuth 2.0 专注于客户端开发者的简易性,同时为 Web 应用、桌面应用、手机和起居室设备提供专门的认证流程。 具体讲解可以移步 OAuth2.0讲解 重点: 理解 授权码模式 和 密码模式 ,他们是最常用的两种授权模式。本项目也是基于这两个模式分别实现 SSO 单点登陆 # OAuth 2.0...
464 1 分钟

# 考驾照经历 # 简介 为了能带家人出门方便、安全的游玩,自己驾驶汽车,所以考了驾驶证。 从 2024-08-21 开始报名 关于报名: 尽量找认识的介绍,自己找可能被坑,我有个朋友就是报名了,结果驾校倒闭,教练跑路,钱没的退。 还有些说随到随练的,结果要几十号人盯着一台车 排队预约 抢 # 科目一 刷学时,可以看,也可以不看 刷题,多刷题 下面是一些记发口诀 无图问速度30 145、 261、520 (能见度100m, 速度40, 距离50。 能见度200,速度60,距离100。 能见度50,速度20,离开) 不三不四、有五有七 (没有线,城市30、公路40。...
13k 12 分钟

# scaffold 项目之用户体系 # 用户体系 系统提供两种用户类型,分别满足后台管理、用户 App 场景。 后台管理用户,前端访问接口: /admin-api/** RESTful API 接口。 App 用户,前端访问接口: /app-api/** RESTful API 接口。 # 表结构 2 种类型的用户采用不同的存储方式(不同表), 后台管理用户的表是 system_users , app 用户的表则是 member_user , 授权表中通过 user_type 字段来区分 为什么不统一用户还要区分表 确实可以放在同一张表,在用户表添加一个字段 user_type...
839 1 分钟

# 柠檬水的各种做法 # 简介 本章记录亲自做柠檬水的过程 # 蜂蜜柠檬水 # 工具: 榨汁器:用于榨取柠檬的汁液。 量杯:用于测量水和柠檬汁的量。 搅拌勺:用于混合柠檬汁和水。 滤网:用于过滤柠檬汁中的果肉和种子。 玻璃杯或塑料杯:用于盛放柠檬水。 冰块盒和冰夹:如果需要加冰,用于制作冰块和取冰块。 # 材料: 新鲜柠檬:根据个人口味,通常需要 2-3 个柠檬。 水:冷开水或过滤水。 糖或蜂蜜:用于增加甜度,根据个人口味适量添加。 冰块:如果喜欢冷饮,可以准备一些冰块。 薄荷叶(可选):用于装饰和增添清新味道。 #...
3.4k 3 分钟

# Nikto 漏洞扫描工具 # 简介 Nikto 是一款常用的 Web 漏洞扫描工具,它可以扫描 Web 服务器上的常见漏洞和安全问题,如 SQL 注入、XSS、文件包含、目录遍历等。本文将介绍 Nikto 的安装和使用方法。 # 功能介绍 使用 Rain Forest Puppy 的 LibWhisker 实现 HTTP 功能,并且可以检查 HTTP 和 HTTPS 支持基本的端口扫描以判定网页服务器是否运行在其他开放端口 可以使用 'update' 选项从主版本站点自动更新,以应对新的弱点 可以在启动时加载用户自定义的检测规则,当然前提是自定义检测规则已经放在了...
5k 5 分钟

# scaffold 项目 # 简介 自用的项目骨架 有任何问题,或者想要的功能,可以在博客首页联系作者 管理后台的电脑端:Vue3 提供 element-plus 后端采用 Spring Boot 多模块架构、MySQL + MyBatis Plus、Redis + Redisson 数据库可使用 MySQL、Oracle、PostgreSQL、SQL Server、MariaDB、国产达梦 DM、TiDB 等 权限认证使用 Spring Security & Token & Redis,支持多终端、多种用户的认证系统,支持 SSO...
29k 27 分钟

# scaffold 项目之数据权限 # 数据权限 注意功能是指定用户,只能访问特定范围的数据,比如针对员工信息的数据控制。 普通员工 -> 访问自己的信息 部门领导 -> 所属部门的所有员工 ... # 实现: 上面的例子很简单,可以在代码中硬编码实现,就是根据不同的角色,判断查询不同的数据,这样虽然能实现,但是随着业务越迭代,类似的需求越多,那么代码的维护成本就越高 # 封装组件实现: scaffold-spring-boot-starter-biz-data-permission 技术组件,实现的核心是每次对数据库操作时,他会自动拼接 WHERE...