首次安装Yii2高级版后如何添加管理员用户?
Yii2高级版无默认管理员的原因及添加方法
为什么没有默认管理员?
Yii2高级版是为多应用架构(前台、后台分离)设计的,和单应用的基础版不同,它更侧重灵活性——不同项目的用户权限、账号规则差异极大,框架不会在安装时自动生成默认管理员,这是正常设计逻辑,不是你遗漏了步骤。
便捷添加管理员的方法
方法1:SQL直接插入(最快)
打开数据库管理工具(如phpMyAdmin、Navicat),找到user表,执行以下SQL:
INSERT INTO `user` (`username`, `email`, `password_hash`, `auth_key`, `status`, `created_at`, `updated_at`) VALUES ( 'admin', 'admin@yourdomain.com', '替换为加密后的密码', '替换为随机字符串', 10, -- 10代表激活状态,0为禁用 UNIX_TIMESTAMP(), UNIX_TIMESTAMP() );
- 加密密码生成:在项目根目录终端执行
php -r "echo Yii::$app->security->generatePasswordHash('你的密码'); echo PHP_EOL;" - 随机auth_key生成:
php -r "echo Yii::$app->security->generateRandomString(); echo PHP_EOL;"
方法2:控制台控制器创建(规范)
- 在
console/controllers下新建UserController.php:
<?php namespace console\controllers; use Yii; use yii\console\Controller; use common\models\User; class UserController extends Controller { public function actionCreate($username, $email, $password) { $user = new User(); $user->username = $username; $user->email = $email; $user->setPassword($password); $user->generateAuthKey(); $user->status = User::STATUS_ACTIVE; $user->save() ? echo "管理员创建成功!\n" : echo "失败:" . print_r($user->errors, true) . "\n"; } }
- 终端执行命令创建:
yii user/create admin admin@yourdomain.com 你的密码
方法3:Gii图形界面创建
打开后台Gii工具(默认地址:http://你的域名/backend/index.php?r=gii):
- 用「Model Generator」生成
User模型 - 用「CRUD Generator」生成用户管理界面
- 进入后台新增页面创建管理员
内容的提问来源于stack exchange,提问作者Raymond
相关产品推荐
相关产品推荐

