gitadmin
|
b40802efbf
|
fix: SSO 免登录和本地 JWT 路径现在也会更新 last_login_at
此前仅密码登录路径更新 last_login_at,导致通过 SSO 共享 JWT
或本地 JWT 访问系统的用户始终显示"从未登录"。
|
2026-05-18 14:49:16 +08:00 |
gitadmin
|
726c8bee27
|
docs: 记录 middleware Edge Runtime 修复与连通性检查重试优化
|
2026-05-15 15:21:45 +08:00 |
gitadmin
|
651971e0fe
|
fix: middleware 移除 better-sqlite3 依赖,修复 Edge Runtime 报错
middleware 运行在 Edge Runtime,不支持 Node.js 原生模块。
API Key 验证回归 ALLOWED_API_KEYS 环境变量检查,DB 验证由 route handler 负责。
|
2026-05-15 09:26:20 +08:00 |
gitadmin
|
dce8b0b6cc
|
docs: 记录 API Key 修复与中间件安全加固(v2026.05.14)
- [修复] IP 查询失败:assets-ai api_keys 表注册缺失的 key
- [优化] 中间件 API Key 验证统一为 ALLOWED_API_KEYS → DB 两级
- [新增] deploy-ai.sh 部署后自动验证 issue→assets 连通性
|
2026-05-15 09:13:46 +08:00 |
gitadmin
|
2697aaaa75
|
fix: 内置角色可编辑不可删除,修复种子迁移覆盖用户权限
- admin/operator/viewer 均为内置不可删除,但可编辑
- 移除 initDatabase() 中的权限合并迁移逻辑,避免每次启动覆盖用户自定义权限
- admin 在 API 层禁止删除
|
2026-05-14 17:29:55 +08:00 |
gitadmin
|
2d74f0a05b
|
feat: 前端按钮基于 permissions 显隐 — 导出/新建报告/下载/删除
三处修改:
- TicketList 导出按钮基于 tickets:export 权限显隐
- 报告列表页新建/批量下载/批量删除按钮及各状态行内操作基于 reports:create/reports:download 显隐
- 报告详情页生成文档/下载报告/重新生成按钮基于 permissions 显隐
|
2026-05-14 17:05:14 +08:00 |
gitadmin
|
152241e666
|
feat: 前端侧边栏和全部工单页面改为基于permissions数组控制显隐
- Sidebar: isAdmin boolean → permissions string[],所有导航项按 perm 属性过滤
- 侧边栏 navItems 新增 perm 字段,canSee() 检查 tickets:read/tickets:create/tickets:import/reports:read
- "全部工单"仅 permissions.includes('*') 可见,"系统设置"区由 hasAnyAdminPerm() 控制
- 设置子项按各自 perm 过滤(users:read/roles:read/api-keys:read)
- /tickets/all 页面权限检查同步改为 permissions.includes('*')
|
2026-05-14 17:01:22 +08:00 |
gitadmin
|
48f8084b9b
|
feat: 报告API三层权限检查 — read/download/create 全覆盖
- GET /api/reports — 新增 reports:read 权限检查
- POST /api/reports — 修复为 reports:create(原错误使用 reports:read)
- DELETE /api/reports — 新增 reports:create 权限检查
- GET /api/reports/[id] — 新增 reports:read 权限检查
- DELETE /api/reports/[id] — 新增 reports:create 权限检查
- POST /api/reports/[id]/generate — 从 reports:write 改为 reports:create
- GET /api/reports/[id]/download — 新增 reports:download 权限检查
- POST /api/reports/download — 新增 reports:download 权限检查
5 个文件,共 8 个改动点
|
2026-05-14 16:57:29 +08:00 |
gitadmin
|
200fd7d3a1
|
feat: 工单API细粒度权限 — create/import/export 独立检查
- POST /api/tickets 手动建单改用 tickets:create
- POST /api/tickets/import 导入改用 tickets:import
- GET /api/tickets/export 新增 tickets:export 权限检查(此前仅有登录检查,是一个安全漏洞)
- PUT/DELETE /api/tickets/[id] 和 PUT /api/tickets/batch 保持 tickets:write 不变
|
2026-05-14 16:54:34 +08:00 |
gitadmin
|
a52241f4db
|
feat: 角色管理UI扩展权限项至14个,种子数据自动迁移operator/viewer权限
|
2026-05-14 16:51:11 +08:00 |
gitadmin
|
1ae84294bb
|
feat: UserPayload 增加 permissions 字段,getCurrentUser 补全权限列表
- UserPayload 新增 permissions: string[] 字段
- getCurrentUser() 三个返回路径(共享JWT查DB/SSO自动创建/本地JWT)
均通过 getUserPermissions() 从 roles 表实时查询补全权限
- 新增 getUserPermissions(role) 工具函数,admin 返回 ['*'],
其他角色从 roles 表解析 permissions JSON
- login() 函数和 login API 路由同步补全 permissions
- verifyToken() 返回对象补全 permissions 空值防止类型错误
|
2026-05-14 16:47:35 +08:00 |
gitadmin
|
4b6bee1868
|
feat: SSO 集成 — 共享 JWT + LDAP 认证 + 跨站点用户管理 API
- 新增 src/lib/jwt-shared.ts:共享 JWT 签发/验证(与 OA 共用密钥)
- 新增 src/lib/ldap.ts:LDAP 认证与用户存在性检查
- 新增 src/app/api/internal/roles/route.ts:内部 API 供 OA 查询角色
- 重构 auth.ts:SSO 共享 JWT 验证
- 重构 middleware.ts:SSO 优先 + 本地认证回退
- 更新 docker-compose.yml:挂载 docker.sock 用于运行时 LLDAP 密码获取
- 更新 next.config.ts:serverExternalPackages 添加 ldapts
- 更新 Dockerfile:生产依赖安装优化
|
2026-05-14 16:37:56 +08:00 |
gitadmin
|
01a717e8b2
|
feat: SSO双路径认证 + 端口修正 5176→6176
- 中间件支持 X-Remote-User (SSO) + JWT 双路径
- /api/auth/me 签发 JWT,支持 SSO header 回退
- 退出登录同时清除 SSO cookie
- 侧边栏系统设置仅 admin 可见
- package.json 端口 5176→6176
- 跨站点引用端口全部修正
|
2026-05-09 17:14:53 +08:00 |
gitadmin
|
f578198cf9
|
feat: 添加 .dockerignore 减小 Docker 构建上下文
排除 node_modules、.next、data 等目录,解决 Build Cache 膨胀问题。
|
2026-05-08 12:55:44 +08:00 |
gitadmin
|
f692546281
|
feat: 周报预览运营数据增加无故障天数
参照月报逻辑,在 buildWeeklyMetadata 中计算无故障天数,
排除"其他"子分类工单,按故障影响日期范围统计。
|
2026-05-08 09:28:39 +08:00 |
gitadmin
|
5c94719693
|
feat: 报告系统重构 — 异步生成、预览重设计、跨月工单支持
- 报告创建与 DOCX 生成分离,新增 POST /api/reports/[id]/generate 异步路由
- 报告预览/列表页重设计:KPI 5列布局、状态标签颜色、故障分类中性色
- 月报支持跨月进行中工单:图表/第二章/第三章/第四章全覆盖
- OLE Package 嵌入自然周周报到月报附件章节
- 修复月报第一章/第二章未排除 fault_subcategory='其他' 工单
- 修复当日恢复故障被计入离线节点(恢复 date < close_time 判定)
- 报告预览无故障天数改为完整日期范围计算
- Button 组件增加 loading 支持、API Key 过期检查修复
|
2026-05-07 21:45:14 +08:00 |
gitadmin
|
a5f19ebeda
|
feat: 周报 metadata 扩展到 16 字段,抽取 buildWeeklyMetadata 辅助函数
|
2026-05-07 16:12:01 +08:00 |
gitadmin
|
e5bdf61cce
|
feat: 月报 metadata 扩展到 16 字段,抽取 buildMonthlyMetadata 辅助函数
|
2026-05-07 16:05:19 +08:00 |
gitadmin
|
b6eed5d0c0
|
fix: 修复 ReportPreviewData 缩进和 avgAvailability 可空性
|
2026-05-07 16:01:38 +08:00 |
gitadmin
|
80d81836a1
|
feat: 新增 ReportPreviewData 接口和 ready 状态类型
|
2026-05-07 15:57:06 +08:00 |
gitadmin
|
6a6d0f309d
|
chore: 初始化仓库 — 工单跟踪系统
|
2026-05-07 10:34:40 +08:00 |
gitadmin
|
a9bad37849
|
Initial commit
|
2026-05-07 09:51:42 +08:00 |