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'     => 'me@hackme.com',
        '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?


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'     => 'me@helloworld.com',
        '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


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="admin@admin.com" --admin-password="admin@5252"

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'     => 'magento@helloworld.com',
        '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!"
?>

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','firstname.lastname@nikinpages.com','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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.