|
|
313d42be2f
|
fix: 设置默认账号为 demo/demo123,修复数据路径
问题修复:
1. ✅ 默认账号设置
- db.rs: 默认密码改为 demo123
- .env.template: 默认密码改为 demo123
- install.sh: 默认密码改为 demo123
2. ✅ 数据路径动态化
- db.rs: 使用 dirs::home_dir() 自动检测用户主目录
- 默认路径: {HOME}/momentry_studio/data/users
- 支持通过 MOMENTRY_DATA_DIR 环境变量自定义
验证脚本:
- scripts/verify_default_setup.sh: 验证默认账号和数据路径
目标:
- 安装后可直接使用 demo/demo123 登录
- 数据路径随用户主目录自动调整
- 适用于任何用户环境
影响:
- demo 用户: 密码固定为 demo123
- 数据路径: 自动检测 {HOME}/momentry_studio/data/users
- 安装即可使用,无需额外配置
|
2026-10-12 15:35:22 +08:00 |
|
|
|
69ab0e8000
|
feat: 实现动态密码系统,消除硬编码
核心改动:
1. db.rs - 默认密码从环境变量读取或自动生成
- 优先级: MOMENTRY_DEFAULT_PASSWORD > 自动生成
- 格式: demo_<timestamp> 或自定义
- 首次创建时打印密码到控制台
2. main.rs - SMB 服务密码动态化
- 从 SMB_PASSWORD 或 MOMENTRY_DEFAULT_PASSWORD 读取
- 支持自定义 SMB 用户名
3. user_tool.rs - 新增用户管理工具
- list: 列出所有用户
- create: 创建新用户
- set-password: 修改密码
- delete: 删除用户
- init-demo: 初始化 demo 用户
4. install.sh - 安装时自动生成密码
- 生成随机密码: demo_$(openssl rand -hex 4)
- 保存到 .env 文件
- 初始化数据库
5. .env.template - 新增密码配置
- MOMENTRY_DEFAULT_PASSWORD
- SMB_USER / SMB_PASSWORD
安全改进:
- 消除硬编码密码 'demo123'
- 每次安装密码唯一
- 密码哈希存储 (Argon2id)
- 支持自定义强密码
文档:
- docs/DEFAULT_PASSWORD_SYSTEM.md 完整说明
|
2026-10-12 14:25:47 +08:00 |
|
|
|
0973f5cfd7
|
feat: 动态路径系统 - 支持任意用户环境部署
问题:
- 100+ 处硬编码路径 /Users/accusys
- 无法在不同用户环境部署
- 配置文件路径固定
解决方案:
1. ✅ 创建 paths.rs 模块
- get_home_dir() - 获取用户主目录
- get_momentry_core_root() - Core API 根目录
- get_markbase_root() - MarkBase 根目录
- get_studio_root() - Studio 根目录
- get_storage_root() - 存储根目录
- 环境变量优先 > 用户主目录推断
2. ✅ 修改 main.rs
- 移除所有硬编码路径
- 使用动态路径函数
- 支持环境变量配置
3. ✅ 创建配置模板
- admin_config.json.template
- .env.template
- 使用 {{HOME}} 占位符
4. ✅ 创建自动化脚本
- install.sh - 通用安装脚本
- generate_config.sh - 配置生成脚本
- 自动检测用户环境
特性:
- ✅ 支持任意用户环境
- ✅ 自动检测用户主目录
- ✅ 环境变量优先级控制
- ✅ 一键安装部署
测试:
- ✅ 编译通过 (cargo check)
- ⚠️ 需要在新环境测试
使用方法:
1. 克隆项目
2. ./install.sh
3. 编辑 .env
4. npm run proxy
适用环境:
- m5max48: /Users/accusys
- m4promini: /Users/nextorageai
- 任意 macOS 环境
|
2026-10-12 12:34:53 +08:00 |
|