Buat pengguna admin secara terprogram di Magento 2.0

8

Sangat mudah untuk menambahkan pengguna admin baru di Magento 1.9

<?php
require_once('app/Mage.php');
umask(0);
Mage::app();

$user = Mage::getModel('admin/user')
    ->setData(array(
        'username'  => 'admin',
        'firstname' => 'admin',
        'lastname'  => 'admin',
        'email'     => '[email protected]',
        'password'  => 'hacker@123',
        'is_active' => 1
    ))
    ->save();

$user->setRoleIds(array(1))
    ->setRoleUserId($user->getUserId())
    ->saveRelations();

echo "User has been created successfully!";

?>

Tetapi bagaimana saya bisa menambahkan pengguna admin di Magento 2.0?

Prahlad
sumber
1
Anda telah menandai ini dengan magento-2.1 tetapi menyebutkan Magento 2.0 di teks. Yang mana? Ada tag magento2 generik yang mungkin ingin Anda gunakan.

Jawaban:

8

Anda dapat membuat pengguna menggunakan userFactory

/**
 * User model factory
 *
 * @var \Magento\User\Model\UserFactory
 */    
protected $_userFactory;

public function __construct(
    \Magento\User\Model\UserFactory $userFactory,
) {
    $this->_userFactory = $userFactory;
}

public function execute(){

    $adminInfo = [
        'username'  => 'killer',
        'firstname' => 'admin',
        'lastname'    => 'admin',
        'email'     => '[email protected]',
        'password'  =>'hello@123',       
        'interface_locale' => 'en_US',
        'is_active' => 1
    ];

    $userModel = $this->_userFactory->create();
    $userModel->setData($adminInfo);
    $userModel->setRoleId(1);
    try{
       $userModel->save(); 
    } catch (\Exception $ex) {
        $ex->getMessage();
    }
}

Anda juga dapat merujuk bagaimana magento membuat sumber git pengguna

Priyank
sumber
Url git yang dibagikan adalah 404
Gagan
Dimodifikasi url
Priyank
7

Anda dapat membuat pengguna admin dengan menjalankan perintah berikut melalui SSH pada tingkat direktori root.

php bin/magento admin:user:create --admin-user="admin" --admin-firstname="Admin" --admin-lastname="A" --admin-email="[email protected]" --admin-password="admin@5252"
sandip
sumber
Dengan cara ini, bagaimana Anda bisa mengatur peran?
slayerbleast
Tidak yakin harus check out
sandip
1
sempurna membuat hari saya !!! +1 :)
SagarPPanchal
2

Buat file di direktori root. misalnya admin.php

<?php 
use Magento\Framework\App\Bootstrap;
require 'app/bootstrap.php';
$bootstrap = Bootstrap::create(BP, $_SERVER);
$objectManager = $bootstrap->getObjectManager();
$UserFactory = $objectManager->get('\Magento\User\Model\UserFactory');

    try{
        $adminInfo = [
        'username'  => 'magento',
        'firstname' => 'magento',
        'lastname'    => 'magento',
        'email'     => '[email protected]',
        'password'  =>'magento@123',       
        'interface_locale' => 'en_US',
        'is_active' => 1
    ];

    $userModel = $UserFactory->create();
    $userModel->setData($adminInfo);
    $userModel->setRoleId(1);
    $userModel->save(); 

    } catch (\Exception $ex) {
        echo $ex->getMessage();
         exit;
    }
    echo "User is sucessfully created!"
?>
Ishvar Patel
sumber
1

Jika ini adalah penggunaan satu kali atau jika Anda membutuhkannya selama pengembangan, maka atau Anda dapat menjalankan perintah mysql di bawah ini di phpMyAdmin atau baris perintah mysql untuk membuat pengguna admin.

LOCK TABLES `admin_role` WRITE , `admin_user` WRITE;
SET @SALT = "rp";
SET @PASS = CONCAT(MD5(CONCAT( @SALT , "password") ), CONCAT(":", @SALT ));
SELECT @EXTRA := MAX(extra) FROM admin_user WHERE extra IS NOT NULL;
INSERT INTO `admin_user` (firstname,lastname,email,username,password,created,lognum,reload_acl_flag,is_active,extra,rp_token_created_at) 
VALUES ('Firstname','Lastname','[email protected]','adminuser',@PASS,NOW(),0,0,1,@EXTRA,NOW());
INSERT INTO `admin_role` (parent_id,tree_level,sort_order,role_type,user_id,role_name) 
VALUES (1,2,0,'U',(SELECT user_id FROM admin_user WHERE username = 'adminuser'),'Firstname');
UNLOCK TABLES;

Temukan penjelasan dan detail lainnya di sini

Semoga ini bisa membantu orang yang mencari masalah / solusi serupa.

nikin
sumber