SEUAIG 权限模型

SEUAIG 权限模型

三角色 RBAC

学生、教师、管理员。

管理员只能在数据库中授权,教师只能由管理员授权,所有账号注册时默认为学生。

实际操作引入了超管,所以是 4 角色。

表单型资源实体

包括题目、题单、班级、比赛。

所有操作归类为读操作和写操作。

RBAC 授权:教师具有全部读权限和新建资源权限;学生无权限;

关联授权:新建资源写权限归属创建者;具有写权限的用户可以授权给任意用户任意额外权限;

资源属性授权:指定资源为公开,即授予所有用户读权限。

实际如果有需求可以对实体设置读写管理三种权限层级

资源实体关联

有一个操作是 "把题单关联到班级" 和 "把题目关联到题单"。

存在一个风险:如果学生在班级/题单里,那么应该是能看到关联到班级的题单/题目。实际行为的实现中,如果采用 "只要在班级里就能看到未公开的但是已经关联到班级题单",问题是 "未来作业" 老师是暂时不想公开,但是又加到班级里,不好处理。

解决方案:

  1. 引入中间资源(作业/题单项)推荐
  2. 关联表中引入额外字段(本质上是把关联表当作中间资源)

安全性问题

大部分场景其实没有那么高的安全性需求,长尾需求一般还是集中在小圈子,人的社会关系是自然的安全保障。