@liuwanwei
2017-05-15T10:47:28.000000Z
字数 2188
阅读 1654
Yii
composer require mdmsoft/yii2-admin "~2.0"
为了确保后序执行数据迁移(migrate)成功,需要进行一些准备工作。
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=127.0.0.1;dbname=shmetro',
'username' => 'root',
'password' => '1801379',
'charset' => 'utf8',
],
Menu Manager 会根据配置的用户权限生成对应菜单,一般为必选项。
./yii migrate --migrationPath=@mdm/admin/migrations
导入后就会创建
// 引入 yii2-admin 子模块
'admin' => [
'class' => 'mdm\admin\Module',
'layout' => 'left-menu',
// 指定 layout,跟项目保持一致
'mainLayout' => '@backend/views/layouts/main.php',
],
// 使用本地文件作为权限控制对象存储位置
// 务必确保 backend/rbac 目录存在,且服务器拥有读写权限
'authManager' => [
'class' => 'yii\rbac\PhpManager',
],
// 添加下行,指定登录 url 地址
'user' => [
...
'loginUrl' => ['/admin/user/login'],
...
],
'as access' => [
'class' => 'mdm\admin\components\AccessControl',
'allowActions' => [
'site/*',
// 配置完成后注释掉下行
'admin/*',
],
],
经以上基础配置,就可以通过访问 admin 模块:
http://localhost/path/to/index.php?r=admin
http://localhost/path/to/index.php?r=admin/route
http://localhost/path/to/index.php?r=admin/permission
http://localhost/path/to/index.php?r=admin/menu
http://localhost/path/to/index.php?r=admin/role
http://localhost/path/to/index.php?r=admin/assignment
http://localhost/path/to/index.php?r=admin/user
通过 yii2-admin 默认提供的 signup 界面注册用户。
安装:
require --prefer-dist raoul2000/yii2-bootswatch-asset "*"
导入资源:
// 编辑:backend/assets/AppAsset.php
class AppAsset extends AssetBundle
{
public $basePath = '@webroot';
public $baseUrl = '@web';
public $css = [
'css/site.css',
];
public $js = [
];
public $depends = [
'yii\web\YiiAsset',
// 主要就这一行
'raoul2000\bootswatch\BootswatchAsset',
];
}
使用资源:
// 编辑:backend/views/layouts/main.php
raoul2000\bootswatch\BootswatchAsset::$theme = 'cosmo';
AppAsset::register($this);
TODO:
在配置 authManager 时,除了 PhpManager 外,还可以选择 DbManager。他俩是 rbac 数据的存储方式,二选一,如果想在数据库中保存,需要执行:
./yii migrate --migrationPath=@yii/rbac/migrations
执行后,会在数据库中创建下面几个表:
但是问题来了:选择哪种保存方式呢?
PhpManager:
DbManager:
从以上两个方式特点来看,如果你不怕麻烦,或者由于项目特点,可以经常导入导出数据库的话,建议选择 DbManager,否则还是选择 PhpManager。