Magento バックエンド側のユーザーセットアップスクリプト

管理系のユーザー作成とオリジナルのロールの設定

Administrators以外のロール値の作成

Magentoの管理ユーザーをプログラムで作成する方法。

ユーザーセットアップする際に、標準の

Administrators

ではなく、制限を加えたロールでユーザーを作成することが出来ます。そのために、事前にオリジナルのロールを管理画面から手動で作成しておきます。

Magentoの管理画面で

System → Permissions → Roles

に進みます。

Add New Role

から新しいロールを作成することが可能です。今回は、subというロールを作成しました。

magento-roles

subの左隣に

3

という数字が書いてあります。この数字が、

role id

で、ユーザーセットアップの際にロールを指定する際に利用することになります。

ユーザーセットアップスクリプト

Magentoのストアセットアップスクリプトでショップ情報を登録した場合と同じように、

Mage::app

を利用してユーザーを追加します。

require_once 'app' . DIRECTORY_SEPARATOR . 'Mage.php';
Mage::app();

// Magentoのユーザーオブジェクト生成と属性の設定
$user = Mage::getModel('admin/user')->load();
$user->setUsername('engineer')
  ->setFirstname('name')
  ->setLastname('lastname')
  ->setEmail('engineer@web.com')
  ->setPassword('password');

// ユーザーバリデーション
$r = $user->validate();

// バリデーションエラーの表示
if( $r[0] ){
  echo "<pre>";
  var_dump($r);
  echo "</pre>";
  exit();
}

// データベースに新しいユーザーを追加
$user->setForceNewPassword(true);
$user->save();

// ロールID:3(sub)でユーザーセットアップ
$user->setRoleIds(array(3))->saveRelations();

Mage::app()を利用してPHPでユーザーセットアッププログラムを開発することが出来る。

Webエンジニアブログにコメント

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Magento バックエンド側のユーザーセットアップスクリプトの記事にコメントを投稿