Part 1
核心觀念:URL 前綴規則怎麼運作
在動手設定前,先弄懂三件事,後面所有操作都會很直覺:前綴涵蓋子路徑、誰會被略過、依網站生效。
A. 一條規則=一段網址前綴(含所有子路徑)
規則的「網址」填的是路徑前綴。它不只保護那一頁,還保護底下所有子路徑。所以你通常只要對「入口路徑」設一條規則,整個區塊就一起被保護:
| 規則網址 | 會一起保護到 |
|---|---|
| /shop | /shop、/shop/cart、/shop/category/桌椅、/shop/產品名…整個商店 |
| /slides | /slides、/slides/課程名、課程內的單元頁…整個線上課程 |
| /event | /event 底下所有活動頁 |
💡 為什麼用「前綴」而不是「一頁一頁設」像商店、課程這種內容是動態產生的(商品、課程隨時新增),不可能一頁一頁去設可見性。用前綴一條規則,新增的子頁自動被保護,不必回頭維護。
B. 誰會被規則擋、誰會被略過
| 身分 | 公開 | 已登入 | 受限群組 | 需要密碼 |
|---|---|---|---|---|
| 系統管理員/超級使用者 | ✅ | ✅ | ✅ 一律通行 | ✅ 一律通行 |
| 授權群組成員(已登入) | ✅ | ✅ | ✅ 屬於授權群組 | 需輸密碼 |
| 其他已登入使用者 | ✅ | ✅ | ❌ 拒絕頁 | 需輸密碼 |
| 未登入訪客 | ✅ | ❌ 導向登入 | ❌ 拒絕頁 | 需輸密碼 |
⚠️ 測試一定要用「非授權」身分你(管理員)自己開任何受限網址都會通過,看不到被擋的畫面。要驗證效果,請登出用訪客身分、或用一個不屬於授權群組的測試帳號開該網址。
C. 依網站生效、用排序控制先後
| 欄位 | 作用 |
|---|---|
| 網站 | 留空=套用到所有網站;指定某網站=只在那個網站生效(多網站才會出現此欄) |
| 排序 | 規則由上而下排列的順序;若你為同一區塊建立多條可能重疊的規則,把較精確的放前面,並用非授權身分實測確認 |
D. 一組現成的預設規則
模組已預先放好 9 條常見入口路徑的規則(/shop、/event、/events、/blog、/forum、/slides、/jobs、/members、/customers),預設全部是「公開」。你不必從零建立——要保護哪一塊,直接把對應那條改成需要的可見性即可(Part 3 示範)。
💡 保護頁面 ≠ 隱藏選單本模組管的是「能不能打開這段網址」。導覽列上的選單連結會不會顯示是另一回事(由 Odoo 原生的選單設定決定)。兩者的搭配見 Part 6。
如何查到
規則的「網址」欄有問號提示:Path (prefix) to protect… It also covers every sub-path——即「前綴,連同所有子路徑」。表單底部的說明文字也載明各可見性被擋時的行為。