SEUAIG 权限模型
SEUAIG 权限模型
三角色 RBAC
学生、教师、管理员。
管理员只能在数据库中授权,教师只能由管理员授权,所有账号注册时默认为学生。
实际操作引入了超管,所以是 4 角色。
表单型资源实体
包括题目、题单、班级、比赛。
所有操作归类为读操作和写操作。
RBAC 授权:教师具有全部读权限和新建资源权限;学生无权限;
关联授权:新建资源写权限归属创建者;具有写权限的用户可以授权给任意用户任意额外权限;
资源属性授权:指定资源为公开,即授予所有用户读权限。
实际如果有需求可以对实体设置读写管理三种权限层级
资源实体关联
有一个操作是 "把题单关联到班级" 和 "把题目关联到题单"。
存在一个风险:如果学生在班级/题单里,那么应该是能看到关联到班级的题单/题目。实际行为的实现中,如果采用 "只要在班级里就能看到未公开的但是已经关联到班级题单",问题是 "未来作业" 老师是暂时不想公开,但是又加到班级里,不好处理。
解决方案:
- 引入中间资源(作业/题单项)推荐
- 关联表中引入额外字段(本质上是把关联表当作中间资源)
安全性问题
大部分场景其实没有那么高的安全性需求,长尾需求一般还是集中在小圈子,人的社会关系是自然的安全保障。