Tạo người dùng quản trị theo chương trình trong Magento 2.0


8

Thật đơn giản để thêm người dùng quản trị viên mới trong 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!";

?>

Nhưng làm cách nào để thêm người dùng quản trị viên trong Magento 2.0?


1
Bạn đã gắn thẻ này với magento-2.1 nhưng đề cập đến Magento 2.0 trong văn bản. Đó là cái nào Có một thẻ magento2 chung mà bạn có thể muốn sử dụng.

Câu trả lời:


8

Bạn có thể tạo người dùng bằng 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();
    }
}

Bạn cũng có thể tham khảo cách magento tạo nguồn git người dùng


Url git được chia sẻ là 404
Gagan

Đã sửa đổi url
Priyank

7

Bạn có thể tạo người dùng quản trị bằng cách chạy lệnh sau qua SSH ở cấp thư mục gốc.

php bin/magento admin:user:create --admin-user="admin" --admin-firstname="Admin" --admin-lastname="A" --admin-email="admin@admin.com" --admin-password="admin@5252"

Bằng cách này, làm thế nào bạn có thể thiết lập vai trò?
slayerbleast

Không chắc chắn phải kiểm tra
sandip

1
hoàn hảo làm cho ngày của tôi !!! +1 :)
SagarPPanchal

2

Tạo một tập tin trong thư mục gốc. cho người cũ 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

Nếu nó là sử dụng một lần hoặc nếu bạn cần nó trong quá trình phát triển, thì thay vào đó, bạn có thể thực thi các lệnh mysql dưới đây trên dòng lệnh phpMyAdmin hoặc mysql để tạo người dùng quản trị.

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;

Tìm giải thích và biết thêm chi tiết tại đây

Hy vọng điều này sẽ giúp những người đang tìm kiếm vấn đề / giải pháp tương tự.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.