我正在构建符合xAPI标准的LMS,使用https://learninglocker.net/作为我们的LRS。管理员可以上传包含xAPI包的zip文件。 LMS将解压缩它,找到启动文件,并允许用户启动该URL,将我们的LRS的凭据作为查询参数传递。然后,包可以直接向我们的LRS报告它想要的任何内容,而我们的LMS无法控制它。
此外,由于LRS凭证在网址中处于普通视图中,因此精通技术的用户可以使用它们将他们想要的任何记录写入LRS。
避免这种情况的标准方法是什么?目前,我能想到的唯一解决方案是不向我们的LRS提供包访问权限,而是通过我们的LMS代理对LRS的所有请求,并授予对该代理端点的包访问权。
有更好的方法吗?
答案 0 :(得分:0)
代理方法应该起作用,并且是LRS的最小负担。
在我们的实现中,我们使用自动生成的短期(可配置)令牌,该令牌对LRS具有有限的权限。这自然要求LRS有一个权限模型的实现,允许这样的事情,我不知道学习储物柜是否(或将)。在此设置中,用户仍然可以直接访问LRS,但由于访问限制,风险很低。
我的另一个建议是研究cmi5,而不是实施Tin Can发布指南(大概是你发现的)。它对LRS权限模型没有帮助,但更多的是标准路径,专门用于LMS模型中基于xAPI的内容。