magento 1.9.3.7 您没有正确登录或您的帐户被暂时禁用
magento 1.9.3.7 You did not sign in correctly or your account is temporarily disabled
我刚刚从 Magento 1.9.3.3(禁用表单键)升级到 1.9.3.7。现在我无法登录到后端。错误信息是'You did not sign in correctly or your account is temporarily disabled.'
我尝试重置 cookie 域,清除服务器和浏览器的缓存和会话,但仍然没有成功。
关于 magento 2 的帖子很多,但谈论 magento 1 的帖子少之又少。是否有人用 magento 1 解决过这个问题?提前感谢您的帮助!
经过一些谷歌搜索后,我发现有很多人有各种版本的问题,这些问题都有共同的根源 'session keys'。
解决方法:
转到 'System->configuration',在部分(左侧菜单)中选择 'General->Web'。在主要内容上,转到 'Session cookie management'。所有这些参数都可以根据您的需要进行调整。但是,要解决登录问题,只需将cookie域更改为'.example.com',将示例替换为您的域名,并且字符串前面的点很重要。
说明:
在登录期间,magento 将放置 2 个 cookie(在其他会话中)。一个是 'domain.com'=>value1,另一个是 '.domain.com'=>value2。
value1 应该等于 value2。如果他们不这样做,将无法登录。通过将 '.example.com' 设置为域而不是 'example.com',Magento 将以某种方式强制平等地设置这 2 个值。
我只有 Chrome 有问题,所有其他浏览器都会对这些值给出相同的答案。这会是 Chrome 事情吗?
Magento 管理面板登录消息显示哪些是在管理会话中设置的。 Magento 1.9.X Mage::throwException()
不适用于登录消息。
因此,如果您想检查确切的错误(如果用户名和密码错误则发生事件)更改文件 app/code/core/Mage/Admin/Model/Session.php
public function login($username, $password, $request = null)
{
.....
} catch (Mage_Core_Exception $e) {
$e->setMessage(
Mage::helper('adminhtml')->__('You did not sign in correctly or your account is temporarily disabled.')
);
.....
}
.....
}
每次都显示下面的消息,而不是下面设置的错误消息。
public function login($username, $password, $request = null)
{
.....
} catch (Mage_Core_Exception $e) {
$e->setMessage($e->getMessage());
.....
}
.....
}
对照备份检查您的 admin_role
数据库 table 数据。由于数据库服务器崩溃,我的数据被删除了。
这是为我解决这个问题的唯一方法。
@himansu 的回答让我发现我为管理员登录安装和启用的 ReCaptcha 扩展导致了错误。禁用 MySQL 的扩展程序解决了问题并允许我登录。
就我而言,我转到 core_config_data table 并将 'aminvisiblecaptcha/backend/enabled' 的值设置为“0”。这是 Amasty 的 Google ReCaptcha 扩展的设置。
当您的用户名被多次尝试错误通过或其他问题阻止时出现。
对我来说,我有一个令人难以置信的缓存,我删除了 var/cache 和 var/full_page_cache,并尝试重新启动网络服务器(在我的例子中是 nginx)。
所以我不得不调试,我发现这个 class 使用身份验证方法 adminAuthenticate():
app/code/core/Enterprise/Pci/Model/Observer.php
PHP 使用“first_failure”和“lock_expires”总是为正确的注册(我的用户)带来错误的值。
所以我只是评论这些行,以清除“垃圾”:
// check whether user is locked
if ($lockExpires = $user->getLockExpires()) {
$lockExpires = new Zend_Date($lockExpires, Varien_Date::DATETIME_INTERNAL_FORMAT);
$lockExpires = $lockExpires->toValue();
if ($lockExpires > time()) {
throw new Mage_Core_Exception(
Mage::helper('enterprise_pci')->__('This account is locked.'),
self::ADMIN_USER_LOCKED
);
}
}
然后 post 再次登录,这样就可以了,并取消注释该行。问题没有再发生。
我刚刚从 Magento 1.9.3.3(禁用表单键)升级到 1.9.3.7。现在我无法登录到后端。错误信息是'You did not sign in correctly or your account is temporarily disabled.'
我尝试重置 cookie 域,清除服务器和浏览器的缓存和会话,但仍然没有成功。
关于 magento 2 的帖子很多,但谈论 magento 1 的帖子少之又少。是否有人用 magento 1 解决过这个问题?提前感谢您的帮助!
经过一些谷歌搜索后,我发现有很多人有各种版本的问题,这些问题都有共同的根源 'session keys'。
解决方法: 转到 'System->configuration',在部分(左侧菜单)中选择 'General->Web'。在主要内容上,转到 'Session cookie management'。所有这些参数都可以根据您的需要进行调整。但是,要解决登录问题,只需将cookie域更改为'.example.com',将示例替换为您的域名,并且字符串前面的点很重要。
说明: 在登录期间,magento 将放置 2 个 cookie(在其他会话中)。一个是 'domain.com'=>value1,另一个是 '.domain.com'=>value2。
value1 应该等于 value2。如果他们不这样做,将无法登录。通过将 '.example.com' 设置为域而不是 'example.com',Magento 将以某种方式强制平等地设置这 2 个值。
我只有 Chrome 有问题,所有其他浏览器都会对这些值给出相同的答案。这会是 Chrome 事情吗?
Magento 管理面板登录消息显示哪些是在管理会话中设置的。 Magento 1.9.X Mage::throwException()
不适用于登录消息。
因此,如果您想检查确切的错误(如果用户名和密码错误则发生事件)更改文件 app/code/core/Mage/Admin/Model/Session.php
public function login($username, $password, $request = null)
{
.....
} catch (Mage_Core_Exception $e) {
$e->setMessage(
Mage::helper('adminhtml')->__('You did not sign in correctly or your account is temporarily disabled.')
);
.....
}
.....
}
每次都显示下面的消息,而不是下面设置的错误消息。
public function login($username, $password, $request = null)
{
.....
} catch (Mage_Core_Exception $e) {
$e->setMessage($e->getMessage());
.....
}
.....
}
对照备份检查您的 admin_role
数据库 table 数据。由于数据库服务器崩溃,我的数据被删除了。
这是为我解决这个问题的唯一方法。
@himansu 的回答让我发现我为管理员登录安装和启用的 ReCaptcha 扩展导致了错误。禁用 MySQL 的扩展程序解决了问题并允许我登录。
就我而言,我转到 core_config_data table 并将 'aminvisiblecaptcha/backend/enabled' 的值设置为“0”。这是 Amasty 的 Google ReCaptcha 扩展的设置。
当您的用户名被多次尝试错误通过或其他问题阻止时出现。
对我来说,我有一个令人难以置信的缓存,我删除了 var/cache 和 var/full_page_cache,并尝试重新启动网络服务器(在我的例子中是 nginx)。
所以我不得不调试,我发现这个 class 使用身份验证方法 adminAuthenticate(): app/code/core/Enterprise/Pci/Model/Observer.php
PHP 使用“first_failure”和“lock_expires”总是为正确的注册(我的用户)带来错误的值。
所以我只是评论这些行,以清除“垃圾”:
// check whether user is locked
if ($lockExpires = $user->getLockExpires()) {
$lockExpires = new Zend_Date($lockExpires, Varien_Date::DATETIME_INTERNAL_FORMAT);
$lockExpires = $lockExpires->toValue();
if ($lockExpires > time()) {
throw new Mage_Core_Exception(
Mage::helper('enterprise_pci')->__('This account is locked.'),
self::ADMIN_USER_LOCKED
);
}
}
然后 post 再次登录,这样就可以了,并取消注释该行。问题没有再发生。