Dominion/docs/zh-cn/manage-dominion/permission
2024-09-05 17:34:27 +08:00
..
guest.md 实现了 tui 领地管理部分的 i18n 2024-09-05 17:34:27 +08:00
member.md 部分文档迁移到 github pages 2024-09-04 16:52:37 +08:00
permission-group.md 部分文档迁移到 github pages 2024-09-04 16:52:37 +08:00
README.md 实现了 tui 领地管理部分的 i18n 2024-09-05 17:34:27 +08:00
template.md 部分文档迁移到 github pages 2024-09-04 16:52:37 +08:00

权限管理

简介

Dominion 采用了 访客-成员-权限组 的权限管理模型。通过此方案既可以满足对于权限的细粒度控制,又可以保证权限的可维护性,减轻玩家的操作负担。

  • 访客:领地的访客权限,不属于领地成员的玩家将收到此权限的限制;
  • 成员:领地的成员权限,属于领地成员的玩家将收到此权限的限制;
  • 权限组:领地的权限组,将玩家添加到权限组中,可以为多个玩家配置相同的权限;

权限模型透视

┌───────────┐                 
│  Player   │                 
└─────┬─────┘                 
      ▼                       
┌───────────┐    ┌───────────┐
│ IsMember? │───►│ HasGroup? │
└─────┬─────┘ Y  └──┬────┬───┘
      │N            │    │    
      ▼             │    │    
┌───────────┐      N│   Y│    
│  Visitor  │       │    │    
└───────────┘       │    │    
┌───────────┐       │    │    
│   Member  │◄──────┘    │    
└───────────┘            │    
┌───────────┐            │    
│   Group   │◄───────────┘    
└───────────┘                 
  • 当一个玩家不属于领地成员时将收到访客权限的限制;
  • 如果是领地成员那么会判断玩家是否属于权限组;
  • 如果玩家属于权限组那么将收到对应权限组的行为控制;
  • 如果玩家不属于权限组那么将采用该玩家在此领地中的成员权限;

领地管理员

管理员是领地成员权限中的一个特殊权限:

  • 管理员可以做的事:
    • 该领地的其他所有权限
    • 修改领地权限
    • 修改领地的玩家权限(添加、删除、修改)
  • 管理员不可以做的事:
    • 删除领地
    • 修改领地尺寸
    • 将其他玩家设置为管理员

通过将一些玩家设置为管理员,可以让他们帮助你管理领地的其他玩家,减轻领地所有人的操作负担。同时不必担心管理员会对领地进行破坏性操作(例如删除、缩小领地)。