2017 © Pedro Peláez
 

yii2-extension yii2-admin

RBAC Auth manager for Yii2

image

jinxing/yii2-admin

RBAC Auth manager for Yii2

  • Saturday, July 28, 2018
  • by jinxing.liu
  • Repository
  • 1 Watchers
  • 1 Stars
  • 91 Installations
  • JavaScript
  • 1 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 7 Versions
  • 0 % Grown

The README.md

Yii2 Ace Admin 后台扩展模块

Progress Latest Stable Version Total Downloads Latest Unstable Version GitHub issues GitHub forks GitHub stars GitHub license, (*1)

change to English, (*2)

作者博客

作者博客, (*3)

简介

使用的 ace admin 前端框架, 为yii2开发的一个后台模块; 对于二次开发比较方便,包含了基本的后台功能, (*4)

说明文档, (*5)

功能特性

  • 包含基本的后台功能, (*6)

    • 管理员管理: 登录、登出、修改密码等
    • 菜单管理: 可视化动态菜单、根据权限显示菜单
    • 权限管理: 角色、权限、用户的管理
  • 使用yii2自带的RBAC权限管理, (*7)

  • 对于二次开发比较方便
    • 定义基本控制器(封装了基本的CURD操作), 后续开发基于基础控制器继承修改
    • 拥有代码生成功能(类似于gii), 可视化生成代码模板, 简单操作即可生成 控制器controller、模型model, 视图views 文件,提高开发效率

安装

安装要求

  • PHP >= 5.4
  • MySQL

全新项目安装

全新项目安装可以直接使用liujx/yii2-app-advanced, (*8)

在已有项目中安装

使用 composer 下载包文件, (*9)

composer require jinxing/yii2-admin

配置模块信息

在你的 main.php 配置文件中添加下面配置, (*10)

return [
    'modules' => [
        'admin' => [
            'class' => 'jinxing\admin\Module',
            // 使用的登录用户组件
            'user' => 'admin',
            // 配置退出登录地址
            'logoutUrl' => 'default/logout', // 默认就是default/logout
            // 验证码验证地址
            'captchaAction' => 'default/captcha', // 默认值为null 使用的就是default/captcha
        ]
    ],
    'components' => [

        // 后台登录用户组件信息
        'admin' => [
            'class'           => 'yii\web\User',
            'identityClass'   => 'jinxing\admin\models\Admin',
            'enableAutoLogin' => true,
            'loginUrl'        => ['/admin/admin/default/login'],
            'idParam'         => '_adminId',
            'identityCookie'  => ['name' => '_admin', 'httpOnly' => true],
        ],

        // 后台使用的语言配置信息
        'i18n' => [
            'translations' => [
                'admin' => [
                    'class'          => 'yii\i18n\PhpMessageSource',
                    'sourceLanguage' => 'en',
                    'basePath'       => '@jinxing/admin/messages'
                ],
            ],
        ],

        // 配置权限使用数据库
        'authManager'  => [
            'class' => 'yii\rbac\DbManager',
        ],

    ]
];

在你的 params.php 配置文件添加如下配置信息, (*11)

return [
    // 这个配置是为了导入权限信息需要配置的,就是配置后台模块的路径 
    'admin_rule_prefix' => 'admin',                        

    // 登录成功首页是否需要显示其他信息
    'projectOpenOther' => true,

    // 项目信息
    'projectName'      => 'Yii2 后台管理系统',              
    'projectTitle'     => 'Yii2 后台管理系统',
    'companyName'      => '<span class="blue bolder"> Liujinxing </span> Yii2 Admin 项目 &copy; 2016-2018',  
];

高级版本配置参考

基础版本配置参考

使用数据库迁移、导入后台所需的数据库信息、需要顺序执行下面命令

需要配置 console

console 配置中的 components 组件中加入权限配置信息, (*12)

return [
    'components' => [
        // 权限配置
        'authManager'  => [
            'class' => 'yii\rbac\DbManager',
        ],
    ],
];
  • 高级版本的配置文件在 console/config/main.php
  • 基础版本的配置文件在 config/console.php

导入权限表信息

php yii migrate --migrationPath=@yii/rbac/migrations

导入后台表信息和默认权限、菜单信息

php yii migrate --migrationPath=@jinxing/admin/migrations

你可以愉快的使用了

访问地址, (*13)

// 登录地址、域名需要根据你的域名修改
http://localhost/path/to?index.php?r=admin/default/login

默认的账号和密码

  1. 超级管理员, (*14)

    • username: super
    • password: admin123
  2. 普通管理员, (*15)

    • username: admin
    • password: admin888

在自己模块中使用

Yii2 高级版本中使用

定义一个基础控制,其他控制器都继承基础控制器, (*16)

  1. 控制器继承jinxing\admin\controllers\Controller
    • 定义控制器使用的布局文件为 @jinxing/admin/views/layouts/main
    • 定义上传文件表单类使用自己的 ,例如:backend\models\forms\UploadForm
  2. 如果要记录操作日志和权限验证,定义行为, (*17)

    • 记录日志行为类: jinxing\admin\behaviors\Logging, (*18)

      默认只会记录: create, update, delete, delete-all, editable, upload 操作的日志, 需要添加或者修改,定义needLogActions 属性, (*19)

    • 权限验证行为类: yii\filters\AccessControl 类的属性和配置参考, (*20)

例子:, (*21)

namespace backend\controllers;

use jinxing\admin\behaviors\Logging;
use jinxing\admin\controllers\Controller as BaseController;
use yii\filters\AccessControl;

/**
 * Class Controller 后台的基础控制器
 * @package backend\controllers
 */
class Controller extends BaseController
{
    /**
     * @var string 使用 yii2-admin 的布局
     */
    public $layout = '@jinxing/admin/views/layouts/main';

    /**
     * @var string 使用自己定义的上传文件处理表单
     */
    public $uploadFromClass = 'backend\models\forms\UploadForm';

    /**
     * 定义使用的行为
     *
     * @return array
     */
    public function behaviors()
    {
        return [
            'access' => [
                'class' => AccessControl::className(),
                'rules' => [
                    [
                        'allow'       => true,
                        'permissions' => [$this->action->getUniqueId()],
                    ],
                ],
            ],

            'logging' => [
                'class' => Logging::className(),
            ],
        ];
    }
}

Yii2 基础版本中使用

yii2 基础版本需要为后台定义一个模块,这个模块可以直接继承jinxing\admin\Module, (*22)

例子:, (*23)

namespace app\modules\admin;

use Yii;
use jinxing\admin\Module;

/**
 * admin module definition class
 */
class Admin extends Module
{
    /**
     * {@inheritdoc}
     */
    public $controllerNamespace = 'app\modules\admin\controllers';

    /**
     * {@inheritdoc}
     */
    public function init()
    {
        parent::init();
        Yii::$app->errorHandler->errorAction = $this->getUniqueId() . '/admin/default/error';
    }
}

如果不使用模块继承方式,配置参考高级版本, (*24)

使用文档

文档说明

模块配置说明

控制器配置说明

前端MeTables配置说明

后台预览

  1. 登录页面 登录页
  2. 数据显示 数据显示
  3. 数据编辑 数据显示
  4. 权限分配 权限分配
  5. 代码生成 代码生成

The Versions

28/07 2018

dev-master

9999999-dev

RBAC Auth manager for Yii2

  Sources   Download

BSD-3-Clause

The Requires

 

by Avatar jinxing.liu

auth yii2 rbac admin ace-admin

28/07 2018

1.0.5

1.0.5.0

RBAC Auth manager for Yii2

  Sources   Download

BSD-3-Clause

The Requires

 

by Avatar jinxing.liu

auth yii2 rbac admin ace-admin

23/06 2018

1.0.4

1.0.4.0

RBAC Auth manager for Yii2

  Sources   Download

BSD-3-Clause

The Requires

 

by Avatar jinxing.liu

auth yii2 rbac admin ace-admin

23/06 2018

1.0.3

1.0.3.0

RBAC Auth manager for Yii2

  Sources   Download

BSD-3-Clause

The Requires

 

by Avatar jinxing.liu

auth yii2 rbac admin ace-admin

22/06 2018

1.0.2

1.0.2.0

RBAC Auth manager for Yii2

  Sources   Download

BSD-3-Clause

The Requires

 

by Avatar jinxing.liu

auth yii2 rbac admin ace-admin

18/06 2018

1.0.1

1.0.1.0

RBAC Auth manager for Yii2

  Sources   Download

BSD-3-Clause

The Requires

 

by Avatar jinxing.liu

auth yii2 rbac admin ace-admin

17/06 2018

1.0.0

1.0.0.0

RBAC Auth manager for Yii2

  Sources   Download

BSD-3-Clause

The Requires

 

by Avatar jinxing.liu

auth yii2 rbac admin ace-admin