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