我正在寻找一种为 Moodle 网站添加自定义密码策略的方法。
我需要能够配置以下内容:
强制用户在 60 天后更改密码
要求用户不要重复使用相同的密码
活动 20 分钟后会话超时(我猜这只是会话 cookie 的设置),但我如何自定义它?
答案1
Moodle 确实为您提供了一些有限的密码策略,并允许您在有限的范围内选择所需密码的复杂性。但它不提供固定的密码生命周期和重置过程。
在管理页面中,你会发现一个服务器部分,其中包含会话超时设置。虽然 20 分钟不在列表中,但你可能会找到 15 分钟和 30 分钟的设置,通过修改底层代码,你可以在选择菜单中添加一个 20 分钟的“sessiontimeout”项,或者在 /config.php 中设置 $CFG->sessiontimeout = 1200(对于非标准时间段,仅此一项不起作用;你还必须在moodle 目录中的$temp->add(new admin_setting_configselect('sessiontimeout' ...)
文件中添加相关记录admin/settings/server.php
)。
为了强制更改密码,也许您可以确保每学期一次让每个人同时重置密码。无需重写 moodle 的部分内容,您可以通过为每个用户在 mdl_user_preferences 中设置“auth_forcepasswordchange”来实现这一点。
您可以通过编辑每个用户并选中强制更改密码来执行此操作,但这可以在整个站点上使用一些 SQL 来更新或添加每个现有用户的“auth_forcepasswordchange”首选项记录来快速完成。下次用户登录时,moodle 将强制更改密码,并且该标志将被清除。
我不确定您是在学校还是大学环境中工作。如果计划并宣布了密码重置日,那么班主任可能会更容易提示学生对此有所期待,为更改做好计划,并在密码更改时协助学生。我知道密码重置会对课程产生重大影响,任何提前警告都会受到赞赏。
如果您的班级中有大批年龄较小的学生,您是否讨论过学生的年龄和能力如何影响这项政策,并讨论过密码规则如何影响学习和教学,特别是对于年龄较小的学生或有特殊教育需要的学生。
也许您可以考虑如何实施差异化密码策略,这可能意味着管理员和员工需要遵循更强大的密码策略,并且比学生更频繁地更改密码。