当尝试在我的本地测试设置中登录到管理员帐户时,它说:即使我使用了正确的用户名和密码,帐户也被暂时禁用。
当尝试在我的本地测试设置中登录到管理员帐户时,它说:即使我使用了正确的用户名和密码,帐户也被暂时禁用。
Answers:
经过互联网上的一些搜索后,我发现由于安全原因,Magento考虑到企业的安全性,引入了帐户禁用功能。
这是您如何解锁并通过SSH / PUTTY转到Magento根文件夹的方法
然后运行以下命令
php bin / magento管理员:用户:解锁ADMINUSERNAME
或从Magento根目录跳到bin目录:cd bin /
然后运行命令
php magento管理员:用户:解锁ADMINUSERNAME
作为参考,请在此处检查http://devdocs.magento.com/guides/v2.0/install-gde/install/cli/install-cli-subcommands-admin.html
当在多个环境中工作时,我很难解决这个问题,我认为Jairmin的答案可能有助于阻止这种情况的发生,但是一旦发现,我发现可以通过以下步骤解决问题:
如果那没有帮助,请按顺序执行下三个命令,而无需尝试在两个命令之间登录:
显然,这是相当激进的,只有在您无法以其他任何方式获得时,才应该这样做。
在magento 2中,有用于设置密码生存时间(天)的配置。这意味着,如果用户未在管理员特定日期登录,则帐户将被锁定。
要设置此天,请转到Stores > Configuration > Advanced > Admin > Security
并设置的值Password Lifetime (days)
。
我尝试了这个选项以及其他各种选项,但是没有一个适合我:
我遵循此:
1./opt/bitnami/apps/magento/htdocs/vendor/zendframework/zend-crypt/src
将utils.php更新为:
转到此文件路径和\ vendor \ zendframework \ zend-crypt \ src \ Utils.php并回显$ expected和$ actual变量,如果两个变量都不匹配,则检查两者是否相同,然后更改第35行
if(function_exists('hash_equals')){返回hash_equals($ expected,$ actual); }
至
如果(function_exists('hash_equals')){返回true; }
可以使用任何密码直接访问magento admin,然后更改密码并还原代码更改
这个解决方案对我有用
旧代码:
if (function_exists('hash_equals')) {
return hash_equals($expected, $actual);
新代码:
如果(function_exists('hash_equals')){返回true; }
它应该为你工作
但是为了防止这种情况的发生,我的经验显示管理员用户密码,不应混合使用大写和小写的宪章或包含符号。我知道我知道!这违反了有关安全密码的所有逻辑,尤其是管理员用户所必需的密码,但是就是这样。因此,只要使其很长,我建议输入14个字符。