无法登录Magento Admin

时间:2010-02-01 11:10:34

标签: session cookies login magento

我在我们的一个临时站点上登录Magento的管理面板时遇到了麻烦(它在我们的webdev服务器上100%运行,并且不久前在登台服务器上工作得很好)。

我做了一些研究,大多数人都认为这与在本地主机上运行Magento和浏览器没有为域名中没有点的域保存cookie有关。然而,问题在于我们是从http://staging.sitename ......等运行它。

建议的另外一些事情是有人在配置中更改了访问管理员的默认名称,但我们没有更改它。

有没有人有任何可能有帮助的想法?

感谢您抽出宝贵时间帮助我!

亲切的问候,
雷米

23 个答案:

答案 0 :(得分:39)

我设法解决了!我在这里找到了这个解决方案:http://blog.chapagain.com.np/magento-admin-login-problem/

我想知道为什么要修复它并且var_dumped我注释掉的项目并且意识到cookie域被设置为'/'并且我们在'/ shop /'下设置了magento。所以我去了配置部分(在评论出文章中提到的3行后设法登录),将Cookie域和Cookie路径更改为空白并保存。然后,我取消注释这些线条并再次尝试,并且一切正常!

答案 1 :(得分:18)

在新的Magento安装中,执行以下操作 - >

打开文件

app/code/core/Mage/Core/Model/Session/Abstract/Varien.php.

并将第87行的代码更改为 - >

    $cookieParams = array(
        'lifetime' => $cookie->getLifetime(),
        'path'     => $cookie->getPath(),
      //  'domain'   => $cookie->getConfigDomain(),
      //  'secure'   => $cookie->isSecure(),
      //  'httponly' => $cookie->getHttponly()
    );

答案 2 :(得分:15)

我也遇到过这个问题。这就是我所做的:在core_config_data中,删除path = web / cookie / cookie_domain

的所有行

答案 3 :(得分:6)

只需在网络浏览器中清除Cookie和缓存即可。它非常适合我。

答案 4 :(得分:2)

我也遇到过这个问题。这就是我做的: 在core_config_data中,删除path = web/cookie/cookie_domain

所有的行

答案 5 :(得分:2)

您好我遇到了同样的问题,我通过删除/ var / session中的所有文件解决了这个问题。 我认为这是因为Magento会议太多了!

为了安全起见,我更改了“仅使用HTTP”#39;到'否'在会话Cookie管理'的网络'我可以再次登录后的设置..

我在互联网上找到了这个解决方案:https://magento.stackexchange.com/questions/26071/magento-1-9-can-t-login-to-admin-panel

答案 6 :(得分:2)

具有特定错误会有所帮助。在黑暗中拍摄几张照片 -

值得检查一下你的重写。我有问题从服务器移动到服务器,其中一个没有正确的重写设置。如果servername.com/index.php/admin有效,但servername.com/admin没有,那么你有重写问题。

可以想象,也没有为正确的服务器配置base_url。移动数据库时是否更改了它?有关详细信息,请参阅this post的答案。

答案 7 :(得分:1)

如果您使用样本数据:

更改: app / etc / local.xml第55行

<session_save><![CDATA[files]]></session_save>

替换

<session_save><![CDATA[db]]></session_save>

,然后: 清除浏览器缓存

答案 8 :(得分:1)

需要在core_config_data表中更新以下路径中的3件事:

  1. web/secure/base_url
  2. web/unsecure/base_url
  3. web/cookie/cookie_domain
  4. 使用

    之类的命令
    UPDATE 'core_config_data' SET 'value'="localhost.com" WHERE path="web/cookie/cookie_domain"
    

    并且忘记清除缓存和浏览器Cookie。

答案 9 :(得分:1)

我找到了解决此问题的新方法。我已经花了几个小时,最后我有可能是绝望,这一步:请求管理密码。

因此,请转到管理员登录页面,然后单击忘记密码链接。

更改密码,现在您可以再次登录!

此致

答案 10 :(得分:1)

我们遇到了同样的问题,原因是服务器硬盘空间不足。 Magento无法创建新会话,因此不会登录我们。释放空间并解决问题。

答案 11 :(得分:1)

我无法访问后端!

(我的解决方案):

应用程序的/ etc /那个local.xml 第55行

    <session_save><![CDATA[files]]></session_save>

替换

    <session_save><![CDATA[db]]></session_save>

答案 12 :(得分:1)

我们的网站运行良好数月,然后今天没有人可以登录管理员,我们的用户也无法登录他们的前端帐户。我们在linux服务器上运行。

解决方案:/magento/var/session目录中充满了sess_*个会话文件,实际上许多尝试执行rm *失败了。在对会话文件进行繁琐的重击之后(rm sess_1*rm sess_2*,... rm sess_a*rm sess_b*,... rm sess_v*)我突然间可以再次登录Magento。实际上,我只需几批就能登录。

理论:当会话目录包含太多文件时,Magento可能无法及时创建新的会话文件,或者可能根本不创建。

答案 13 :(得分:1)

我只是通过缓存清除解决了(从Magento基本目录执行php mage clear-cache

答案 14 :(得分:0)

我有同样的问题,而且全部都是使用localhost。

首先我更改了web/unsecure/base_urlweb/secure/base_url。这两个配置值都有localhost,我用127.0.0.1替换它。直到我删除了两个文件夹var/session/var/cache/的所有内容后,它才能正常工作。

现在工作正常。

答案 15 :(得分:0)

我已经到了gogole搜索结果第2页的底部,试图解决这个问题。我做了我能找到的所有建议。然后我的朋友建议使用此命令行工具n98-magerun。正在运行php n98-magerun.phar cache:flush解决了它。然后我可以登录。虽然有大量的命令,所以如果这不起作用,也许会有另外一个。

答案 16 :(得分:0)

在应用了这么多解决方案和答案之后,这个解决方案和答案终于有效了。

评论第108行

call_user_func_array(’session_set_cookie_params’, $cookieParams);

在文件app / code / core / Mage / Core / Model / Session / Abstract / Varien.php

答案 17 :(得分:0)

如果值得,请检查admin_user中的密码字段是否至少为100个字符。

如果是40,则更改密码将无效。

答案 18 :(得分:0)

我做了一个简单的方法。我去phpMyAdmin,然后使用MD5哈希的新密码。然后使用该密码成功登录

答案 19 :(得分:0)

在我的情况下,session文件夹下缺少var文件夹。我刚刚创建了var/session文件夹,并将权限设置为777,清除了cache并完成了。

您应该为此检查sysytem.log

答案 20 :(得分:0)

转到Varien.php app \ code \ core \ Mage \ Core \ Model \ Session \ Abstract \ Varien.php 清理var文件夹中的文件 并进行上述更改:

        //session cookie params
        $cookieParams = array(
            'lifetime' => $cookie->getLifetime(),
            'path'     => $cookie->getPath()
            // 'domain'   => $cookie->getConfigDomain(),
            // 'secure'   => $cookie->isSecure(),
            // 'httponly' => $cookie->getHttponly()
        );

答案 21 :(得分:-1)

从Chrome的DevTools中清除应用程序存储后,为我解决了此问题。

答案 22 :(得分:-2)

完成所有这些之后,并将所有上述解决方案留在原地,仍然没有一个对我有用。我运行Win 7 + XAMPP和Magento社区magento-1.7.0.2

我可以看到前端,但根本没有登录管理面板。所有的尝试都遇到了无效的用户名或密码,所以我开始搞乱模型文件进行调试,最后改变了

\ app \ code \ core \ Mage \ Admin \ Model \ User.php第340行

由此:

if ($sensitive && $this->getId() && Mage::helper('core')->validateHash($password, $this->getPassword())) {

对此:

if ($sensitive && $this->getId() || Mage::helper('core')->validateHash($password, $this->getPassword())) {

由于它是一个开发框,因此我认为它可以选择验证密码哈希值

注意:请勿在实际环境中执行此操作,只要您的用户名正确,密码就会每次都通过,无论它们是否正确。

本质上这个代码执行以下if(username = correct或password = correct){LOG IN} - 这意味着如果它传递用户名,它将登录。