# 權限管理 ## 簡介 Dominion 采用了 `訪客-成員-權限組` 的權限管理模型。通過此方案既可以滿足對於權限的細粒度控製,又可以保證權限的可維護性,減輕玩家的操作負擔。 - [訪客](guest):領地的訪客權限,不屬於領地成員的玩家將收到此權限的限製; - [成員](member.md):領地的成員權限,屬於領地成員的玩家將收到此權限的限製; - [權限組](permission-group.md):領地的權限組,將玩家添加到權限組中,可以為多個玩家配置相同的權限; ## 權限模型透視 ``` ┌───────────┐ │ Player │ └─────┬─────┘ ▼ ┌───────────┐ ┌───────────┐ │ IsMember? │───►│ HasGroup? │ └─────┬─────┘ Y └──┬────┬───┘ │N │ │ ▼ │ │ ┌───────────┐ N│ Y│ │ Visitor │ │ │ └───────────┘ │ │ ┌───────────┐ │ │ │ Member │◄──────┘ │ └───────────┘ │ ┌───────────┐ │ │ Group │◄───────────┘ └───────────┘ ``` - 當一個玩家不屬於領地成員時將收到訪客權限的限製; - 如果是領地成員那麽會判斷玩家是否屬於權限組; - 如果玩家屬於權限組那麽將收到對應權限組的行為控製; - 如果玩家不屬於權限組那麽將采用該玩家在此領地中的成員權限; ## 領地管理員 管理員是領地成員權限中的一個特殊權限: - ✅管理員可以做的事: - 該領地的其他所有權限 - 修改領地權限 - 修改領地的玩家權限(添加、刪除、修改) - ❌管理員不可以做的事: - 刪除領地 - 修改領地尺寸 - 將其他玩家設置為管理員 通過將一些玩家設置為管理員,可以讓他們幫助你管理領地的其他玩家,減輕領地所有人的操作負擔。同時不必擔心管理員會對領地進行破壞性操作(例如刪除、縮小領地)。