0

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

任何帮助高度赞赏。

4

1 回答 1

2

考虑到您已将客户注册为管理员用户,现在您拥有管理员用户名。让他自动登录的 Esest 方法是在 magento root 中创建一个文件让我们说 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 = Mage::helper("adminhtml")->getUrl("acompany_mymodule/index/index");
$url = Mage::getUrl('adminhtml/*/*');
$url = str_replace('autologin.php', 'index.php', $url);
header('Location:  '.$url);
exit();

所以现在可以在任何地方创建一个按钮,将表单提交到这个 url BASE_URL/autologin.php,并在 post 请求中使用用户名

于 2013-11-06T13:34:25.923 回答