如何为特定用户强制输入特定密码&;不允许该用户更改其密码?我有一个客户认为,即使我通过这个插件强制输入强密码:https://wordpress.org/plugins/force-strong-passwords/ 他们的用户将使用short&;简单的密码。因此,他们希望为每个用户随机设置14个字符的密码&;不要让他们更改所述密码。有人知道怎么做吗?
如何强制使用特定密码?
您可以在函数中使用此代码。php限制管理员级别以下的用户更改密码:
if ( is_admin() ) {
add_action( \'init\', \'disable_password_fields\', 10 );
}
function disable_password_fields() {
if ( ! current_user_can( \'activate_plugins\' ) ) {
$show_password_fields = add_filter( \'show_password_fields\', \'__return_false\' );
}
}
管理员可能应该手动注册每个用户,如果可能的话,并为他们选择一个强大的密码。编辑-更改了用户级别检查。语法。
这是一个非常大的问题,请原谅我没有添加代码。我确实有一张地图给你。
出于合理的原因,WordPress没有一个钩子或过滤器,可以在用户密码保存到数据库之前帮助修改它们。@jason murray提出的解决方案将密码字段隐藏在一个位置—在用户配置文件页面上。
但是,用户可以使用忘记密码功能更新密码。如果隐藏/禁用它,则会禁用用户。相反,您可以直接连接到retrieve_password_message过滤器。
这会向用户发送一封包含激活密钥和所有内容的电子邮件。您可以使用生成密码wp_hash_password和wp_generate_password,在电子邮件中发送并在数据库中更新。(试着找出人数的粗略统计数字以及忘记和重置密码的频率。)
此外,手动为用户设置密码也没有意义,尤其是当您有大量用户时。当用户注册时,您可能会劫持可插拔的wp_new_user_notification并生成一个强密码,替换WordPress生成的默认密码,然后向用户发送一封修改过的电子邮件。