本文档总结了为 MioVerify 项目实现的四个主要功能。
-
密码加密工具类:
PasswordUtil.java- 使用 BCrypt 算法加密密码
- 支持密码验证
- 兼容旧的明文密码(渐进式迁移)
-
用户服务更新:
UserServiceImpl.java- 登录时支持加密密码验证
- 向后兼容明文密码
- 自动识别密码格式
-
注册流程更新:
ExternController.java- 新用户注册时自动加密密码
- 集成密码加密工具
- BCrypt 算法,安全性高
- 渐进式迁移,不影响现有用户
- 密码强度验证支持
-
材质源服务接口:
TextureSourceService.java- 统一的材质操作接口
- 支持多种材质源类型
-
本地材质源:
LocalTextureSourceImpl.java- 传统文件系统存储
- 完全向后兼容
-
HTTP材质源:
HttpTextureSourceImpl.java- 远程HTTP材质获取
- Redis缓存支持
- 超时和错误处理
-
材质源管理器:
TextureSourceManager.java- 主要源和备用源支持
- 自动故障转移
- 配置化材质源选择
mioverify:
texture:
sources:
primary: local # 主要材质源
local:
enabled: true
base-path: textures
http:
enabled: false
base-url: https://example.com/textures
cache-enabled: true
cache-duration: 1h-
管理员实体:
AdminUser.java- 管理员账户信息
- 角色和权限管理
-
管理员服务:
AdminService.java&AdminServiceImpl.java- 管理员登录验证
- 系统统计信息
- 用户和角色管理
-
管理控制器:
AdminController.java- 登录/登出功能
- 仪表板页面
- 用户和角色管理API
-
Web界面:
- 登录页面:
templates/admin/login.html - 仪表板:
templates/admin/dashboard.html - 响应式设计,现代化UI
- 登录页面:
- 安全的会话管理
- 系统统计信息展示
- 用户和角色管理
- 批量操作支持
- 默认管理员账号:
admin - 默认密码:
admin123 - 访问地址:
http://localhost:8080/admin/login
-
API元数据实体:
ApiMetadata.java- 完整的API信息结构
- 客户端配置信息
-
API文档工具:
ApiDocumentationUtil.java- 自动生成API文档
- 动态特性检测
- 客户端配置生成
-
元数据控制器:
MetaController.java/meta- Yggdrasil兼容的服务器元数据/meta/api- 完整API元数据/meta/endpoints- API端点列表/meta/client-config- 客户端配置/meta/features- 服务器特性/meta/docs- 人类可读的API文档
- 服务器元数据:
GET /meta - API文档:
GET /meta/api - 端点列表:
GET /meta/endpoints - 客户端配置:
GET /meta/client-config - 特性列表:
GET /meta/features - HTML文档:
GET /meta/docs
- Spring Security (密码加密)
- Thymeleaf (模板引擎)
- 新增
admin_users表 - 支持管理员账户存储
mioverify:
# 管理员配置
admin:
enabled: true
default-username: admin
default-password: admin123
base-path: /admin
session-timeout: 30m
# 材质源配置
texture:
sources:
primary: local
local:
enabled: true
http:
enabled: false
base-url: https://example.com/textures
cache-enabled: true- Java 17+: 确保使用Java 17或更高版本
- Redis服务: 必须启动Redis服务器(默认端口6379)
- 数据库: SQLite(默认)或MySQL
-
启动Redis服务:
# Windows (如果安装了Redis) redis-server # 或使用Docker docker run -d -p 6379:6379 redis:alpine
-
数据库迁移: 运行更新的
schema.sql -
配置更新: 更新
application.yml配置 -
编译项目:
mvn clean compile
-
启动应用:
mvn spring-boot:run
-
管理员初始化: 首次启动时自动创建默认管理员
- 访问
http://localhost:8080查看服务器元数据 - 访问
http://localhost:8080/admin/login进入管理界面 - 访问
http://localhost:8080/meta/docs查看API文档
-
密码加密测试:
- 注册新用户验证密码加密
- 现有用户登录兼容性测试
-
材质源测试:
- 本地材质访问测试
- HTTP材质源配置测试
- 故障转移测试
-
管理界面测试:
- 管理员登录测试
- 用户管理功能测试
- 权限控制测试
-
API文档测试:
- 访问各个元数据端点
- 验证API文档完整性
所有四个功能已成功实现并集成到 MioVerify 项目中:
✅ 密码密文存储 - 使用BCrypt加密,向后兼容
✅ 动态材质资源来源 - 支持本地和HTTP源,自动故障转移
✅ 后台管理界面 - 现代化Web界面,完整的管理功能
✅ API地址指示(ALI) - 完整的API文档和元数据系统
项目现在具备了更强的安全性、灵活性和可管理性,为用户提供了更好的体验。