mirror of
https://github.com/ColdeZhang/Dominion.git
synced 2024-12-24 10:48:55 +08:00
.. | ||
member.md | ||
permission-group.md | ||
README.md | ||
template.md | ||
visitor.md |
权限管理
简介
Dominion 采用了 访客-成员-权限组
的权限管理模型。通过此方案既可以满足对于权限的细粒度控制,又可以保证权限的可维护性,减轻玩家的操作负担。
- 访客:领地的访客权限,不属于领地成员的玩家将收到此权限的限制;
- 成员:领地的成员权限,属于领地成员的玩家将收到此权限的限制;
- 权限组:领地的权限组,将玩家添加到权限组中,可以为多个玩家配置相同的权限;
权限模型透视
┌───────────┐
│ Player │
└─────┬─────┘
▼
┌───────────┐ ┌───────────┐
│ IsMember? │───►│ HasGroup? │
└─────┬─────┘ Y └──┬────┬───┘
│N │ │
▼ │ │
┌───────────┐ N│ Y│
│ Visitor │ │ │
└───────────┘ │ │
┌───────────┐ │ │
│ Member │◄──────┘ │
└───────────┘ │
┌───────────┐ │
│ Group │◄───────────┘
└───────────┘
- 当一个玩家不属于领地成员时将收到访客权限的限制;
- 如果是领地成员那么会判断玩家是否属于权限组;
- 如果玩家属于权限组那么将收到对应权限组的行为控制;
- 如果玩家不属于权限组那么将采用该玩家在此领地中的成员权限;
领地管理员
管理员是领地成员权限中的一个特殊权限:
- ✅管理员可以做的事:
- 该领地的其他所有权限
- 修改领地权限
- 修改领地的玩家权限(添加、删除、修改)
- ❌管理员不可以做的事:
- 删除领地
- 修改领地尺寸
- 将其他玩家设置为管理员
通过将一些玩家设置为管理员,可以让他们帮助你管理领地的其他玩家,减轻领地所有人的操作负担。同时不必担心管理员会对领地进行破坏性操作(例如删除、缩小领地)。