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