Magento以管理员身份自动登录

Magento以管理员身份自动登录,magento,controller,magento-1.7,autologin,Magento,Controller,Magento 1.7,Autologin,我想以管理员用户的身份将一些客户自动登录到管理员。 他们的帐户仪表板中有一个链接,可以自动登录。 到目前为止,我们已经实现了将客户详细信息与管理员用户帐户同步,因此可以使用客户邮件及其id作为密码手动登录管理员。 然而,现在我只能通过点击链接来实现它。 非常感谢您的帮助。考虑到您已将客户注册为管理员用户,现在您拥有管理员用户名。 让他自动登录的最有效的方法是在magento根目录中创建一个文件,比如autologin.php,现在先对这个文件进行int,然后获取用户 require_once '

我想以管理员用户的身份将一些客户自动登录到管理员。
他们的帐户仪表板中有一个链接,可以自动登录。
到目前为止,我们已经实现了将客户详细信息与管理员用户帐户同步,因此可以使用客户邮件及其id作为密码手动登录管理员。
然而,现在我只能通过点击链接来实现它。


非常感谢您的帮助。

考虑到您已将客户注册为管理员用户,现在您拥有管理员用户名。 让他自动登录的最有效的方法是在magento根目录中创建一个文件,比如autologin.php,现在先对这个文件进行int,然后获取用户

require_once 'app/Mage.php';
umask(0);
$app = Mage::app('default');
Mage::getSingleton('core/session', array('name' => 'adminhtml'));
$username = $_POST['username'];
$user = Mage::getModel('admin/user')->loadByUsername($username);
然后启动秘密密钥

if (Mage::getSingleton('adminhtml/url')->useSecretKey()) {
  Mage::getSingleton('adminhtml/url')->renewSecretUrls();
}
登录和设置会话

$session = Mage::getSingleton('admin/session');
$session->setIsFirstVisit(true);
$session->setUser($user);
$session->setAcl(Mage::getResourceModel('admin/acl')->loadAcl());
Mage::dispatchEvent('admin_session_user_login_success',array('user'=>$user));
最后重定向到您喜欢的任何url

//$url = Mage::helper("adminhtml")->getUrl("acompany_mymodule/index/index");
$url = Mage::getUrl('adminhtml/*/*');
$url = str_replace('autologin.php', 'index.php', $url);
header('Location:  '.$url);
exit();

因此,现在可以在任何地方创建一个按钮,在post请求中使用用户名将表单提交到此url BASE_url/autologin.php,但它不起作用。获取服务器错误:Mage::getSingleton('core/session',array('name'=>'adminhtml');我匆忙中漏掉了几行。请重试我的更新答案