2011-02-11 176 views
6

我想通过curl发布magento管理员用户名和密码登录成功后应该重定向到magento管理仪表板。 我该怎么做? 基本上Magento的登录需要这样的信息:magento admin通过curl登录

require_once ("magento\app\Mage.php"); 
umask(0); 

// Initialize Magento 
Mage::app("default"); 

// You have two options here, 
// "frontend" for frontend session or "adminhtml" for admin session 
Mage::getSingleton("core/session", array("name" => "adminhtml")); 
$session = Mage::getSingleton("admin/session"); 

我如何进行?

回答

5
<?php 
require_once 'app/Mage.php'; 
umask(0); 
$app = Mage::app('default'); 

Mage::getSingleton('core/session', array('name' => 'adminhtml')); 

// supply username 
$user = Mage::getModel('admin/user')->loadByUsername('adminusername'); 

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)); 

if ($session->isLoggedIn()) { 
    echo("logged in"); 
} 
+0

这不是在magento 1.6.2或1.7.0.0中工作,但工作在1.7.0.2和不到1.6版本,在amdin登录成功中是否有任何会话更改/调度事件更改? – Elamurugan 2012-11-01 14:37:06