
考试前那一周,有三个人提出了听起来一样的要求。
校长想看看八年级整体怎么样。一位老师要替休假一个月的同事代课。还有一位老师愿意帮忙批主观题——只批题,别的 不管。
三个人说的都是"我需要那门课的权限"。三个人要的其实是三件不同的事,而给他们同一个答案,是让全校每个人都能 看到所有东西的最快路径。
三个答案,不是一个
课程权限是按课程逐一授予的,一共三种形态。
旁听者可以打开这门课。教材、结构、课程怎么推进。看不到成绩。
批改人可以打开,也可以打分。不能改动课程内容——不能加章节,不能改题目,不能挪截止时间。
协同教师可以打开、打分,也可以改内容。这一种才是"临时顶上"的意思。
把这三种和上面三个请求对上,答案就不再需要拿捏了:校长是旁听者,代课的是协同教师,来帮忙批题的是批改人。 没有谁需要拿到比他开口要的更多。
最容易出错的是第一个
旁听者是最容易给多的角色,因为开口的人通常是你的上级,而这个要求听起来完全合理。
但"看看八年级怎么样"和"逐个学生翻他们的分数"是两件事,被要求的只有其中一件。
所以成绩表是由打分权限把守的,不是由查看权限。旁听者打开这门课,根本找不到成绩表的入口。就算他知道 导出文件的地址、直接输进去,那个文件同样会拒绝他——页面和它提供的文件由同一个条件把守,两者不可能对"谁有 资格"给出不同答案。
这不是不信任校长。这是因为一次授予的权限会存在很久,而一年之后,没有人还记得这个账号为什么能看到全部。
为什么这些角色不能由你自己设计
学校不能自己造一个新角色、自己搭一套权限组合。这是一个决定,不是一项没来得及做的功能。
一个人的角色是随登录会话一起带着的,而会话会存在好几天。如果学校可以随意重排权限,只有两种可能,而且都不好: 改动要等会话过期才生效——也就是说撤销权限不是即时的,偏偏在你最需要它即时的时候;或者每一次页面请求都得 回数据库重新问一遍。
三种固定的、每一种都能用一句话讲清楚的形态,比一个搭好之后没人敢碰的权限编辑器有用。
今天值得查的是什么
不是谁有账号。是谁手上还有一门本不属于他的课的权限,以及当初那个理由是否还成立。
代了一个月课的老师,在有人去掉他之前,一直还是协同教师。上学期帮忙批卷的同事,一直还是批改人。没有人做错 什么,只是已经没有理由再让他们看下去了。
考试前是权限申请最集中的时候。这也是最适合把之前攒下的那些清一清的时候。
Afisena