# 核心框架
# 概述
核心框架集成公共和通用的公共包能力,达到核心框架包可拆分可依赖,可集成的目的,通过集成核心框架,形成基础的核心能力。
# 功能架构
这里核心、数据、前端、接口、安全、权限等模块的划分,同时也包含多个服务之前引用的关系
序号 | 类型 | 模块 | 名称 | 说明 | 备注 |
---|---|---|---|---|---|
1 | pom | POM父类工程 | alinesno-infra-platform-parent | 该模块是整个项目的父类工程,用于管理项目的依赖关系和构建配置。 | |
1 | 核心包 | 配置中心 | alinesno-infra-common-config | 该模块提供了配置中心的功能,用于集中管理项目的配置信息。 | |
2 | 核心包 | alinesno-infra-common-core | 该模块是项目的核心功能包,包含了一些通用的核心功能和工具类。 | ||
3 | 微服务调用 | alinesno-infra-common-feign | 该模块提供了微服务调用的功能,使用Feign来实现服务之间的通信。 | ||
4 | 门面包 | alinesno-infra-common-facade | 该模块提供了门面模式的封装,用于简化外部系统与内部系统的交互。 | ||
1 | 组件包 | Kafka调用组件 | alinesno-infra-sdk-kafka | 该模块提供了与Kafka消息队列的交互功能,用于发送和接收Kafka消息。 | |
2 | Redis调用组件 | alinesno-infra-sdk-redis | 该模块提供了与Redis数据库的交互功能,封装了常用的Redis操作方法。 | ||
3 | Mongodb调用组件 | alinesno-infra-sdk-mongodb | 封装了常用的Mongodb操作方法。 | ||
4 | 分布式锁调用组件 | alinesno-infra-sdk-distlock | 该模块提供了分布式锁的实现,用于在分布式环境下实现资源的互斥访问。 | ||
1 | 前端包 | 基础前端包 | alinesno-infra-common-web | 该模块提供了基础的前端功能和组件,用于构建Web应用的前端界面。 | |
2 | 核心组件前端包 | alinesno-infra-common-web-base | 该模块包含了一些核心的前端组件,可以在项目中复用和扩展。 | ||
3 | 单点登陆前端包 | alinesno-infra-common-web-sso | 该模块提供了单点登录的前端功能,用于实现用户在多个系统中的统一登录。 | ||
4 | 普通登陆前端包 | alinesno-infra-common-web-login | 该模块提供了普通登录的前端功能,用于用户在单个系统中的登录认证。 | ||
1 | 安全包 | 基础安全包 | alinesno-infra-common-security | 包括权限控制、加密解密等安全相关的操作。 | |
2 | 接口安全包 | alinesno-infra-common-security-api | 用于对接口进行安全验证和访问控制。 | ||
3 | 数据安全包 | alinesno-infra-common-security-mapper | 用于对数据库中的数据进行安全保护和加密。 | ||
4 | 日志安全包 | alinesno-infra-common-security-log | 该模块提供了日志安全功能,用于对系统的日志进行安全记录和审计。 | ||
1 | 前端UI | 前端UI核心包 | alinesno-infra-ui | 该模块提供了前端UI的核心组件和样式,用于构建美观的用户界面。 | |
# 父类集成
父类通过可配置的变量进行集成管理,即通过传递参数变量来进行各个环境之前的转换区分
序号 | 分类 | 功能 | 说明 | 备注 |
---|---|---|---|---|
1 | 集成能力 | Nexus仓库集成 | 将Nexus仓库集成到系统中,用于管理和存储软件包、依赖项等。 | |
2 | 集成revision统一版本号 | 在系统中集成revision统一版本号功能,确保软件包和依赖项的版本号一致性。 | ||
3 | 集成镜像仓库一键打成容器镜像 | 将系统集成到镜像仓库中,并提供一键打包成容器镜像的功能。,方便部署和扩展。 | ||
4 | 集成非root账号运行 | 非root账号运行可以降低系统受到攻击的风险,并限制对系统资源的访问权限。 |
# 配置中心
# core基础功能
以下是对每个模块的功能和说明的补充:
序号 | 模块 | 功能 | 说明 | 备注 |
---|---|---|---|---|
1 | 能用能力 | 分布式框架 | 结合微服务框架,使用合适的身份验证机制。 | |
2 | 公共依赖包(配置/公共代码) | 包含配置文件和公共代码,供其他模块使用。 | ||
3 | 服务容器化 | 将服务容器化,使其能够在容器环境中运行。 | ||
4 | 代码生成器 | 自动生成代码,提高开发效率。 | ||
5 | MyBatis操作集成 | 集成MyBatis框架,方便数据库操作。 | ||
6 | 按钮权限 | 根据用户权限控制按钮的显示与隐藏。 | ||
7 | 单点登录 | 实现用户在多个系统中只需登录一次即可访问其他系统。 | ||
8 | 租户集成 | 支持多租户的系统架构,使不同租户的数据相互隔离。 | ||
9 | 多服务集成 | 将多个服务集成到一个系统中,实现功能的整合和共享。 | ||
10 | 前端集成 | 将前端代码集成到后端系统中,实现前后端的协同开发。 | ||
11 | 多平台发布集成 | 支持在多个平台上发布系统,如Web、移动端等。 | ||
12 | 本地调试 | 提供本地调试环境,方便开发人员进行调试和测试。 | ||
13 | 异常处理 | 统一处理系统中的异常,提高系统的健壮性和容错性。 | ||
14 | 日志处理 | 记录系统运行时的日志信息,便于故障排查和系统监控。 | ||
15 | 页面搜索 | 实现对系统中各个页面的搜索功能,方便用户查找信息。 | ||
16 | Redis缓存使用 | 使用Redis作为缓存,提高系统的性能和响应速度。 | ||
17 | 分布式Redis缓存使用 | 在分布式环境下使用Redis作为缓存,支持多个节点之间的数据同步和共享。 | ||
18 | 系统日志 | 记录系统的操作日志和事件日志,用于审计和追踪系统行为。 | ||
19 | 消息使用 | 实现系统内部的消息传递和通信,支持异步处理和解耦。 | ||
20 | 日志埋点 | 在系统中埋点记录关键操作和事件,用于分析统计和业务监控。 | ||
21 | SwaggerUI文档 | 使用SwaggerUI生成接口文档,方便开发人员查看和调试接口。 | ||
22 | 多数据库源 | 支持连接多个不同类型的数据库,实现对多个数据库的操作。 | ||
23 | 配置加密 | 对敏感配置信息进行加密处理,保护系统的安全性。 | ||
24 | 表单提交校验 | 对用户提交的表单数据进行校验,确保数据的合法性和完整性。 | ||
25 | Excel导入/导出 | 支持将数据导入到系统或从系统导出数据到Excel文件。 | ||
26 | 文件上传 | 实现用户上传文件的功能,存储和管理用户上传的文件。 | ||
27 | XSS攻击防护 | 防止系统受到跨站脚本攻击,保护用户的信息安全。 | ||
28 | 多数据源分库分表(读写分离) | 支持将数据分布在多个数据库中,实现读写分离和数据的水平扩展。 | ||
29 | 多数据源动态加载卸载 | 支持动态加载和卸载数据源,方便系统对多个数据源的管理和切换。 | ||
30 | 多数据源事务( jta atomikos) | 支持在多数据源的情况下进行事务管理,保证数据的一致性和完整性。 | ||
31 | CDN配置 | 配置CDN加速服务,提高系统的访问速度和稳定性。 | ||
32 | 多种环境部署 | 支持在不同的环境中部署系统,如开发环境、测试环境和生产环境等。 | ||
33 | 分布式ID | 生成分布式环境下唯一的ID,用于标识和区分不同的数据和实体。 | ||
34 | 基类能力 | 通用API | 提供通用的API接口,供其他模块进行调用和扩展。 | |
35 | 通用CURD | 实现通用的增删改查操作,简化数据操作的代码编写。 | ||
36 | 通用Service | 提供通用的业务逻辑处理功能,减少重复代码的编写。 | ||
37 | 通用Mapper | 提供通用的数据库操作方法,简化数据库操作的代码编写。 | ||
38 | Junit基础类 | 提供基础的Junit测试类,方便进行单元测试和集成测试。 | ||
39 | ORM基础类 | 封装ORM框架的基础类,简化数据库操作的代码编写。 | ||
40 | Entity基础类 | 定义实体类的基础结构和属性,用于数据的存储和传输。 | ||
41 | PO基础类 | 定义持久化对象的基础结构和属性,用于与数据库进行交互。 | ||
42 | VO基础类 | 定义视图对象的基础结构和属性,用于展示数据给用户。 | ||
43 | Exception基础类 | 定义异常类的基础结构,用于系统中的异常处理和错误提示。 | ||
44 | Service基础类 | 定义业务逻辑处理类的基础结构,提供通用的业务处理方法。 | ||
45 | Mapper基础类 | 定义数据库操作类的基础结构,提供通用的数据库操作方法。 | ||
46 | 分页基础类 | 封装分页查询的基础类,方便进行分页查询操作。 | ||
47 | 日志基础类 | 定义日志记录类的基础结构,用于记录系统运行时的日志信息。 | ||
48 | 基础通用常量 | 定义系统中使用的常量,提高代码的可读性和可维护性。 | ||
49 | 获取Context上下文 | 提供获取系统上下文信息的方法,方便在代码中获取和使用上下文信息。 | ||
# web集成
包含公共组件集成
序号 | 类型 | 功能 | 说明 | 备注 |
---|---|---|---|---|
1 | 通用集成 | 普通JWT前后端登录 | 确保只有经过身份验证和授权的用户才能访问敏感接口API。使用合适的身份验证机制。 | |
2 | 单点登录 | 实现用户在多个系统中的统一登录,避免重复登录的问题。 | ||
3 | 菜单权限集成 | 将菜单权限与用户角色关联,控制用户在系统中的菜单访问权限。 | ||
4 | 权限注解 | 通过在方法或类上添加注解,实现对接口或方法的权限控制。 | ||
5 | 数据权限 | 控制用户对数据的访问权限,确保用户只能访问其具备权限的数据。 | ||
6 | 参数和代码集成 | 对参数进行验证和处理,确保参数的合法性和安全性。 | ||
7 | CORS集成 | 实现跨域资源共享,允许不同域名下的前端应用访问后端接口。 | ||
8 | 黑白名单路径请求 | 根据请求路径进行黑名单或白名单的过滤,限制或允许特定的请求。 | ||
9 | 安全验证码集成 | 集成验证码功能,用于防止恶意机器人或自动化攻击。 | ||
10 | 前端异常 | 捕获和处理前端应用的异常,提供友好的错误提示和日志记录。 | ||
11 | 公共前端返回对象 | 定义和封装前端应用的公共返回对象,统一的数据结构和格式。 | ||
12 | 数据请求分页 | 对数据查询请求进行分页处理,返回分页结果给前端应用。 | ||
13 | 代码过滤转换 | 对请求或响应的代码进行过滤和转换,确保安全性和合规性。 | ||
14 | 会话管理 | 管理用户的会话状态,实现用户登录状态的保持和管理。 | ||
15 | 公共API | 提供一些通用的API接口,如文件上传、短信发送等功能。 | ||
1 | 模块集成 | 代码转换插件机制 | 提供代码转换的插件机制,用于在编译或运行时对代码进行转换和增强。 | |
2 | 获取当前用户注解制 | 提供注解方式获取当前登录用户的信息,方便在代码中获取用户上下文。 | ||
3 | 存储接口集成 | 集成存储接口,用于对数据进行持久化存储和访问。 | ||
4 | 非存储接口集成 | 集成非存储接口,用于与外部系统进行交互和通信。 | ||
5 | 通知组件集成 | 集成通知组件,用于发送和接收系统内部或外部的通知消息。 | ||
6 | 分布式ID集成 | 集成分布式ID生成器,确保在分布式环境下生成唯一的ID。 |
# 安全过滤
序号 | 类型 | 功能 | 说明 | 备注 |
---|---|---|---|---|
1 | 接口安全 | 接口API数据加密和解密 | 对接口API的数据进行加密和解密,确保数据在传输和存储过程中的安全性。 | |
2 | 接口API的限流配置 | 针对接口API的请求量进行限制,防止恶意请求和过载情况对系统造成影响。 | ||
3 | 接口API的文件上传安全限制 | 对接口API的文件上传进行安全限制,包括文件类型、大小、文件名等的验证和限制。 | ||
4 | 接口API的防重复提交 | 防止接口API被重复提交,避免重复操作和数据不一致的问题。 | ||
5 | 接口API的防SQL注入/防XSS攻击 | 针对接口API的输入进行过滤和验证,防止SQL注入和跨站脚本攻击。 | ||
6 | 接口API的全加密交互 | 对接口API的请求和响应进行全程加密,确保数据在传输过程中的机密性和完整性。 | ||
7 | 接口API防越权配置 | 控制用户对接口API的访问权限,防止越权访问和未授权操作。 | ||
8 | 身份验证和授权 | 确保只有经过身份验证和授权的用户才能访问敏感接口API。使用合适的身份验证机制。 | ||
9 | 强化密码策略 | 对于涉及用户密码的接口API,实施强密码策略,包括密码复杂性要求。 | ||
10 | 输入验证和过滤 | 对于接收用户输入的接口API,确保进行输入验证和过滤,以防止恶意输入和攻击。 | ||
11 | 安全漏洞扫描 | 定期进行安全漏洞扫描和代码审查,以发现和修复潜在的安全漏洞和弱点。 | ||
12 | 异常处理和错误信息 | 在接口API中,避免向用户返回具体的错误信息,以防止信息泄露和攻击者利用这些信息。 | ||
1 | 数据安全 | 数据存储安全,包括数据库字段和数据显示 | 对数据库中的数据进行安全存储,包括对敏感字段的加密和对数据的安全显示。 | |
2 | 数据审计(对账) | 对数据进行审计和对账,确保数据的完整性和一致性,并监测潜在的安全问题。 | ||
3 | 数据敏感词过滤 | 对数据进行敏感词过滤,防止敏感信息的泄露和不当使用。 | ||
4 | 数据范围(数据权限) | 控制用户对数据的访问权限,确保用户只能访问其具备权限的数据。 | ||
5 | 表结构自动维护 | 自动维护数据库表结构的变更,包括新增、修改、删除表字段等操作。 | ||
6 | 字段数据绑定(字典回写) | 将数据字段与字典进行绑定,实现数据的字典回写和显示。 | ||
7 | 虚拟属性绑定 | 将虚拟属性与数据字段进行绑定,实现数据的动态计算和展示。 | ||
8 | 字段加密解密 | 对字段进行加密和解密操作,确保敏感数据在存储和传输过程中的安全性。 | ||
9 | 字段脱敏 | 对字段进行脱敏处理,隐藏敏感信息的具体内容,保护用户隐私。 | ||
10 | 字段加密解密 | 对字段进行加密和解密操作,确保敏感数据在存储和传输过程中的安全性。 | ||
11 | 字段脱敏 | 对字段进行脱敏处理,隐藏敏感信息的具体内容,保护用户隐私。 | ||
1 | 其它 | 日志输出打印安全,主要包括加密和数据配置 | 对系统日志进行安全处理,包括加密敏感信息和配置适当的日志级别。 | |
2 | 日志和监控 | 记录和监控接口API的访问日志,包括请求和响应数据,以便追踪和分析潜在的安全问题。 | ||
3 | 双因子认证安全,主要集成TOPT安全 | 实现双因子认证的安全机制,提供额外的身份验证保护。 | ||
# 前端ui核心包
此为登陆前端框架默认集成功能(同时配置后台实现)
序号 | 类型 | 功能 | 说明 | 备注 |
---|---|---|---|---|
1 | 桌面端组件 | 界面布局 | 统一界面布局管理和配置 | |
2 | 文件上传 | 提供用户上传文件的功能 | ||
3 | 菜单列表 | 显示可用的菜单选项供用户选择 | ||
4 | 切换缓存 | 允许用户切换缓存以提高系统性能 | ||
5 | 自定义主题 | 允许用户自定义系统的界面主题 | ||
6 | 临时锁屏 | 提供临时锁屏功能,保护用户的数据安全 | ||
7 | 图片查看 | 允许用户查看图片文件 | ||
8 | 分页列表 | 显示分页列表,方便用户浏览和导航大量数据 | ||
9 | 服务支持列表 | 显示可用的服务支持选项供用户选择 | ||
10 | 平台功能介绍 | 显示平台的功能介绍信息 | ||
1 | 账号密码登陆 | 允许用户使用账号密码进行登陆 | ||
2 | 验证码开关 | 允许用户开启或关闭验证码功能 | ||
3 | 通知公告 | 提供通知公告功能,向用户发送重要信息 | ||
4 | 平台教程列表 | 显示平台的教程列表,帮助用户了解和使用系统 | ||
5 | 登陆次数限制 | 对用户的登陆次数进行限制 | ||
6 | 登陆次数限制时间 | 设置用户登陆次数限制的时间间隔 | ||
7 | 登陆IP限制 | 对用户的登陆IP进行限制 | ||
8 | 登陆IP限制时间 | 设置用户登陆IP限制的时间间隔 | ||
9 | 自定义登陆域名 | 允许用户自定义登陆页面的域名 | ||
10 | 手机验证码登陆 | 允许用户使用手机验证码进行登陆 | ||
11 | 微信绑定登陆 | 允许用户使用微信账号进行登陆 | ||
12 | 自定义logo | 允许用户自定义系统的logo | ||
13 | 自定义banner | 允许用户自定义系统的banner | ||
14 | 自定义企业信息 | 允许用户自定义系统中显示的企业信息 | ||
15 | 自定义企业说明 | 允许用户自定义系统中显示的企业说明 | ||
16 | 自定义版权信息 | 允许用户自定义系统中显示的版权信息 | ||
17 | 自定义团队信息 | 允许用户自定义系统中显示的团队信息 | ||
18 | 自定义登陆标题 | 允许用户自定义登陆页面的标题 | ||
19 | 获取系统配置 | 获取系统的配置信息 | ||
20 | 获取参数字典 | 获取系统中定义的参数字典 | ||
21 | 获取当前用户 | 获取当前登陆用户的信息 | ||
22 | 异常处理 | 处理系统中发生的异常情况 | ||
23 | 内容复制 | 提供复制内容的功能 | ||
24 | 使用图标 | 使用图标来增加系统界面的美观和易用性 | ||
25 | 权限使用 | 根据用户的权限控制系统中的功能访问 | ||
26 | 多级目录 | 支持多级目录结构,方便用户组织和管理系统功能 | ||
27 | Request工具类 | 提供封装的HTTP请求工具类,简化前端与后端的数据交互 | ||
28 | SessionStorage工具类 | 提供封装的SessionStorage操作工具类,方便前端存储和读取数据 | ||
29 | Cookie工具类 | 提供封装的Cookie操作工具类,方便前端存储和读取Cookie数据 | ||
30 | LocalStorage工具类 | 提供封装的LocalStorage操作工具类,方便前端存储和读取本地数据 | ||
31 | 用户信息编辑 | 允许用户编辑和更新自己的个人信息 | ||
32 | 用户头像修改上传 | 允许用户修改和上传自己的头像图片 | ||
33 | 登陆日志 | 记录用户的登陆日志,方便管理员查看登陆历史记录 | ||
34 | 在线会话管理 | 管理用户的在线会话,包括查看和终止用户的会话 | ||
35 | 异常登陆拦截 | 拦截异常的登陆行为,保护系统的安全 | ||
36 | 踢人下线 | 强制将指定用户下线,保护系统的安全 | ||
37 | 最大登陆会话 | 设置用户最大允许的同时登陆会话数 | ||
38 | 最长登陆时间 | 设置用户登陆会话的最长有效时间 | ||
39 | 单点登陆 | 支持单点登陆,用户只需登陆一次即可访问多个相关系统 | ||
40 | 单点退出 | 支持单点退出,用户退出一个系统后同时退出其他相关系统 | ||
41 | 登陆条款编辑 | 允许管理员编辑和更新登陆条款 | ||
42 | 登陆隐私政策编辑 | 允许管理员编辑和更新登陆隐私政策 | ||
43 | 登陆隐私政策编辑 | 允许管理员编辑和更新登陆隐私政策 | ||
44 | 邮件二次登陆 | 允许用户通过邮件进行二次登陆 | ||
45 | 令牌二次认证 | 允许用户使用令牌进行二次认证 | ||
46 | 登陆数据加密 | 对用户的登陆数据进行加密保护 | ||
47 | 记住我安全加密 | 对“记住我”功能中的用户信息进行安全加密 | ||
48 | 钉钉/微信扫描登陆 | 允许用户使用钉钉或微信扫描二维码进行登陆 | ||