zhaowei.huang a5dd632898 feat(rbac): RbacStore 持久化权限体系替代硬编码 UserStore
- 新增 PageCatalog / RbacModels / RbacStore / RbacController:用户、角色、页面/操作/控件授权落盘 data/rbac.json,支持运行时增删改并即时生效
- 密码改用 PBKDF2-SHA256(100k 迭代 + 16B 随机盐) 存储,校验走 FixedTimeEquals 防时序攻击;对外 DTO 绝不外泄盐/哈希
- AuthController 登录 / me / switch-scope 统一收敛到 BuildSession,按角色在当前 scope 的并集计算有效权限并签发 JWT
- EffectivePermissions 增加 AllowedPages;移除旧的硬编码 UserStore
- Program.cs 注册 RbacStore、新增 RbacAdmin 授权策略(ops claim 含 * 或 auth.manage),并按 SimpleLite:FollowParent 决定是否注册停机清理钩子
2026-05-29 23:51:08 +08:00

Migu2.0

迷毂 · 智能调度平台」后端仓库。由原 Simple-FR monorepo 中的 Platform.Server 拆出并重命名为 MiGu.Server

仓库结构

Migu2.0/
├── MiGu.Server/          # ASP.NET Core 8 主入口(Kestrel :8080 + YARP + 静态 SPA
│   ├── wwwroot/          # 已构建的平台前端(克隆即可运行)
│   └── data/             # 运行时配置持久化(config-*.jsongit 忽略)
├── frontends/            # 平台 Vue 源码(simple-platform-vue
├── build-platform-frontend.bat
├── ARCHITECTURE.md       # 总体架构(已从 Simple 移植并更新路径)
├── PLATFORM_V3_CHANGES.md
└── Doc/                  # 代码复审记录

与 Simple 仓库的关系

组件 本仓库 Simple 仓库 (../Simple)
平台后端 MiGu.Server 已移除 Platform.Server
调度内核 SimpleLite
前端源码 frontends/apps/simple-platform-vue 已迁出
前端构建 .\build-platform-frontend.batMiGu.Server/wwwroot

登录后 MiGu.Server 按所选启动模式拉起 SimpleLite.exe。开发环境路径见 MiGu.Server/appsettings.Development.json(默认指向 ../Simple/SimpleLite/bin/Debug)。

快速启动

cd MiGu.Server
dotnet run
# 浏览器: http://localhost:8080/login
# 默认账号: admin/admin、ops/ops(仅开发用)

仅调试平台 UI、不拉 SimpleLite:将 appsettings.jsonSimpleLite.Enabled 设为 false

配置 SimpleLite(开发机)

  1. 在 Simple 仓库编译内核:
cd ..\Simple
dotnet build SimpleLite\SimpleLite.csproj -c Debug
  1. 打开 MiGu.Server/appsettings.json,找到 "SimpleLite",确认 ExecutablePath 指向你的 SimpleLite.exe(默认相对路径 ..\\..\\Simple\\SimpleLite\\bin\\Debug\\SimpleLite.exe)。也可访问 http://localhost:8080/api/health/simplelite 查看是否解析成功。

  2. 启动 MiGu.Server 后登录,选择「本地 + Web」或「仅 Web」即可拉起 SimpleLite。

详细说明见 MiGu.Server/README.md — 配置 SimpleLite 路径

文档

更新前端

# 在本仓库根目录
.\build-platform-frontend.bat
# 产物同步到 MiGu.Server\wwwroot\
S
Description
No description provided
Readme
52 MiB
Languages
Vue 47.7%
C# 28.4%
TypeScript 19.7%
CSS 3.8%
Batchfile 0.3%