0

我想通过soap客户端创建magento登录,所以我们如何在magento中实现,我从这个文件在magento根文件夹中创建一个文件,我应该在调用这个文件时提供soap登录功能,我不想要magento登录功能对于这个特定的文件

4

1 回答 1

1

我要感谢@incho的伙计们。 从 magento 管理员锁定

这也可以与 Magento 分开运行,只需要 app/Mage.php 路径存在。

<?php
/*
 * Create New Admin User
 * @author    Ivan Weiler, Inchoo <web@inchoo.net>
 */

//define USERNAME, EMAIL and PASSWORD and uncomment(#) this 3 lines
#define('USERNAME','inchoo');
#define('EMAIL','xyz@inchoo.net');
#define('PASSWORD','inchoo555');


if(!defined('USERNAME') || !defined('EMAIL') || !defined('PASSWORD')){
    echo 'Edit this file and define USERNAME, EMAIL and PASSWORD.';
    exit;
}

//load Magento
$mageFilename = 'app/Mage.php';
if (!file_exists($mageFilename)) {
    echo $mageFilename." was not found";
    exit;
}
require_once $mageFilename;
Mage::app();

try {
    //create new user
    $user = Mage::getModel('admin/user')
        ->setData(array(
            'username'  => USERNAME,
            'firstname' => 'John',
            'lastname'  => 'Doe',
            'email'     => EMAIL,
            'password'  => PASSWORD,
            'is_active' => 1
        ))->save();

} catch (Exception $e) {
    echo $e->getMessage();
    exit;
}

try {
    //create new role
    $role = Mage::getModel("admin/roles")
            ->setName('Inchoo')
            ->setRoleType('G')
            ->save();

    //give "all" privileges to role
    Mage::getModel("admin/rules")
            ->setRoleId($role->getId())
            ->setResources(array("all"))
            ->saveRel();

} catch (Mage_Core_Exception $e) {
    echo $e->getMessage();
    exit;
} catch (Exception $e) {
    echo 'Error while saving role.';
    exit;
}

try {
    //assign user to role
    $user->setRoleIds(array($role->getId()))
        ->setRoleUserId($user->getUserId())
        ->saveRelations();

} catch (Exception $e) {
    echo $e->getMessage();
    exit;
}

echo 'Admin User sucessfully created!<br /><br /><b>THIS FILE WILL NOW TRY TO DELETE ITSELF, BUT PLEASE CHECK TO BE SURE!</b>';
@unlink(__FILE__);
于 2012-05-08T14:03:49.803 回答