Magento 卡在“是时候更改您的密码了”。

Magento stuck on " It's time to change your password."

我有大约 1 个月没有使用 Magento 2.0.2.0 CE。之后我登录到管理员,打开我的 account/Account 信息页面,标题为“是时候更改您的密码了。”被显示。当我尝试打开我的产品(或设置页面)时,类似的页面“是时候更改您的密码了。”已显示

我更改了密码并按下了“保存帐户”。什么都没有改变,我仍然看到“是时候更改您的密码了。”,所有菜单项都指向此页面“是时候更改您的密码了。”

1) 运行 这个 SQL 脚本在你的商店数据库中: UPDATE admin_passwords SET expires = <<some future timestamp>> WHERE user_id = <<admin_user_id>>;

  • 我用过<<some future timestamp>> = 1999999998
  • <<admin_user_id>> - 您可以在 table 中找到您的用户 ID admin_user

您也可以在某些 UI 客户的帮助下完成同样的工作:只需将 admin_passwords table 中的 expires 列编辑为 1999999998(我建议更改所有影响所有用户的行):

2) 清理浏览器缓存和 cookie。

3) 登录到 Magento。好好享受吧!

我听从了 burzhuy 的建议 - 但我没有使用 运行 脚本,而是通过 phpMyAdmin 打开了数据库 table "admin_passwords"。此 table 在 Magento 2 的早期版本中不可用。 如果您只有很少的 users/admins,只需将 copy/paste 的 UNIX TimeStamp 设置为遥远的未来。互联网上有许多时间戳转换器。

本次数据库更新后仍然需要清除浏览器缓存和cookies。完美运行。

IMO 这应该只被推荐用于开发目的,而不是违反所有密码安全规则。

以下是解决此问题的步骤,因此它不会再次出现。

  1. 更新过期值 table admin_passwords 运行 低于 sql 在 PhpMyAdmin 中查询:

    UPDATE admin_passwords SET expires = 1999999998 WHERE user_id = <<admin_user_id>>;

  2. 商店>配置>高级>管理>安全中将密码更改更改为推荐

    https://bestcodestore.com/magento-2-issue-time-change-password/

  3. 查看更多详细信息

只需 运行 跟随 sql 查询路径 admin/security/password_is_forced 是否存在

UPDATE `core_config_data` SET `value` = '0' WHERE `path` = 'admin/security/password_is_forced';

其他

INSERT INTO `core_config_data` (`config_id`, `scope`, `scope_id`, `path`, `value`) VALUES (NULL, 'default', '0', 'admin/security/password_is_forced', '0');

运行 magento 根目录中的命令而不是更改为数据库:

禁用强制更改密码和密码有效期

php bin/magento config:set admin/security/password_is_forced 0
php bin/magento config:set admin/security/password_lifetime 0

重建索引并清理缓存

php bin/magento indexer:reindex
php bin/magento c:c

运行 下面是来自 CLI 的 Magento 根目录中的命令

php bin/magento config:set admin/security/password_is_forced 0
php bin/magento cache:flush

对于升级到 Magento 2.4.3 或更高版本后获得此信息的任何其他人。 我们有同样的问题。我们的修复是:
暂时禁用强制密码

php bin/magento config:set admin/security/password_is_forced 0
php bin/magento cache:flush

在 MAP 中,我们必须前往: 商店 > 配置 > 高级 |系统 > 安全 将 Admin 中的最大会话大小设置为 0 这给出了警告,但保存得很好。 然后刷新缓存。

然后我们可以重新启用强制更改密码

php bin/magento config:set admin/security/password_is_forced 1

或 商店 > 配置 > 高级 |管理 > 安全 将 密码更改 设置为 Forced 然后刷新缓存。