From 18d6742177c57017d3bda3d72e1e7cadb2cc0afa Mon Sep 17 00:00:00 2001 From: uncle6me-web Date: Tue, 14 Jul 2026 11:31:57 +0800 Subject: [PATCH] =?UTF-8?q?portal-auth=20SDD=20=E5=AE=9A=E6=A1=88=EF=BC=9A?= =?UTF-8?q?D-4=3DA=20graph=20=E7=B2=97=E9=96=98=E3=80=81D-8=3D=E5=B7=A5?= =?UTF-8?q?=E4=BD=9C=E6=B5=81=E9=A0=81=20admin=EF=BC=88leo=202026-07-14=20?= =?UTF-8?q?=E8=A3=81=EF=BC=89(#24=20#25)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5 --- system-dev/docs/3-specs/portal-auth/design.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/system-dev/docs/3-specs/portal-auth/design.md b/system-dev/docs/3-specs/portal-auth/design.md index ca7fc83..d908b23 100644 --- a/system-dev/docs/3-specs/portal-auth/design.md +++ b/system-dev/docs/3-specs/portal-auth/design.md @@ -1,7 +1,7 @@ # portal-auth — Design(RAG Portal 多人授權) -> 狀態:草稿(待總管/leo 審) -> 建立:2026-07-13 | 最後更新:2026-07-13 +> 狀態:**定案**(2026-07-14 總管審過+leo 裁 D-4=A/D-8=admin,PR #49) +> 建立:2026-07-13 | 最後更新:2026-07-14 > 對應:Gitea #24(T1 Portal 拆分)+ #25(T2 多用戶登入);rag-wave1 design §2/§3/§8 > 姊妹檔:requirements.md(範圍與驗收)、tasks.md(實作切分) @@ -91,7 +91,7 @@ record 本身沒有可索引的 head——另建一筆 head entry:`entry_type= ### 3.4 graph 模式的庫權限(已知薄弱點,明寫) kbdb-graph-plugin 的 `/graph/neighbors/:name` 只吃節點名,**無 owner/庫概念**(proxy 也只驗有 key)。三元組是跨文件萃取的衍生物,逐邊回查來源 entry 的 library=N+1 且語意模糊(一條邊可能來自多庫文件)。 -- **決策 D-4(第一波,建議)**:graph 模式=**粗閘**——只對「擁有 graph 來源庫權限」的用戶開放(portal_library 標記哪個庫是圖譜來源,預設 `general`;無權者搜尋頁不顯示 graph 模式、`/portal/data/graph/*` 回 403)。逐節點/逐邊細粒度過濾列第二波。**待裁**(涉及「機密庫內容會不會經圖譜洩漏」的品味判斷:若客戶把機密文件也餵進圖萃取,粗閘擋不住節點名本身;第一波可再收緊成「graph 模式只給 admin」)。 +- **決策 D-4(定案:A 粗閘,leo 2026-07-14)**:graph 模式=**粗閘**——只對「擁有 graph 來源庫權限」的用戶開放(portal_library 標記哪個庫是圖譜來源,預設 `general`;無權者搜尋頁不顯示 graph 模式、`/portal/data/graph/*` 回 403)。逐節點/逐邊細粒度過濾列第二波。已知殘餘(誠實記):客戶把機密文件餵進圖萃取時,粗閘擋不住節點名本身——導入文件要寫明「機密庫預設不進圖萃取來源」。 ## 4. 密碼與登入 @@ -139,7 +139,7 @@ kbdb-graph-plugin 的 `/graph/neighbors/:name` 只吃節點名,**無 owner/庫 - **一般用戶=兩頁**:搜尋頁(三模式切換+結果 source 溯源+卡片詳頁)+設定頁(改密碼、看自己的角色與可查庫、主題切換)。 - **admin 多一頁**:帳號管理(同仁列表/新增/停用/重設密碼+每帳號勾選可查庫)+庫目錄管理。掛 Portal 內 admin-only nav 項(**非** console settings 擴充——console 不動鐵律;且受眾不同:console 是 owner、這頁是 portal admin)。 -- **決策 D-8:工作流頁預設 admin 可見、一般用戶不顯示**【待裁,輕】——leo 拍板「工作流頁可以顯示(誠實系統狀態)」但同句拍板「一般用戶只要兩頁」。兩者取交集=admin 見(admin 的第四頁)、一般用戶不見;若 leo 意在全員可見,改 config `PORTAL_SHOW_WORKFLOWS=all` 一行的事。唯讀、不開 trigger(trigger 是 owner/console 的事)。 +- **決策 D-8(定案:admin,leo 2026-07-14):工作流頁 admin 可見、一般用戶不顯示**——「工作流頁可以顯示(誠實系統狀態)」與「一般用戶只要兩頁」取交集;要改全員可見=config `PORTAL_SHOW_WORKFLOWS=all` 一行。唯讀、不開 trigger(trigger 是 owner/console 的事)。 - Mira 專屬頁(駕駛艙/分流台/專案管理/自動開發)**一律不進**。 ## 7. 設定與部署