hamkamannan/adminigniter

CodeIgniter4 HMVC的完整认证和授权系统,带有高级Admin LTE模板

v1.3.0 2021-07-13 17:10 UTC

README

Adminigniter

带有完整认证和授权系统的CodeIgniter4 HMVC模块(CRUD)生成器,包含Admin LTE模板。

功能

注意:此库受到了myth/authagungsugiarto/boilerplate的启发

请随时贡献!

mannan.id上查看演示

安装

1. 获取模块

注意:由于myth/auth包仍在开发中,我们需要在根项目目录的composer.json中更改。使用您的文本编辑器打开composer.json,并添加如下代码此处,或如下所示。

"minimum-stability": "dev",
"prefer-stable": true,

通过composer运行require

composer require hamkamannan/adminigniter

2. Codeigniter配置

注意:在您的.env文件中设置CI_ENVIRONMENT、baseURL、索引页面和数据库配置(根据您现有的数据库)。如果没有.env文件,您可以首先从env文件复制:首先cp env .env)。如果数据库不存在,首先创建数据库。

#--------------------------------------------------------------------
# ENVIRONMENT
#--------------------------------------------------------------------

CI_ENVIRONMENT = development

#--------------------------------------------------------------------
# APP
#--------------------------------------------------------------------

app.baseURL = 'https://:8888'
app.indexPage = ''

#--------------------------------------------------------------------
# DATABASE
#--------------------------------------------------------------------

# mysql
database.default.hostname = 127.0.0.1
database.default.database = adminigniter
database.default.username = root
database.default.password = root
database.default.DBDriver = MySQLi

3. 运行publishmigrateseed

注意:要发布Database/MigrationDatabase/Seedpublic/assetspublic/themesLibraries/DataTables,并修补HMVC vendor/codeigniter4/framework/system/View/View.php

  • 运行php spark adminigniter:publish
php spark adminigniter:publish

Publish Database Migration? [y, n]: y
  created: Database/Migrations/20210101_000000_Auth
  created: Database/Migrations/20210101_000001_AuthAlterUser
  created: Database/Migrations/20210101_000002_Adminigniter
Publish Database Seed? [y, n]: y
  created: Database/Seeds/AdminigniterSeeder.php
Copy Public Assets? [y, n]: y
  created: public/assets/*
  created: public/themes/*
Copy Libraries? (Adminigniter Libraries/DataTables) [y, n]: y
  created: Libraries/DataTables//Utilities/*
  created: Libraries/DataTables/*
Patch View for HMVC? [y, n]: y
  created: vendor/codeigniter4/framework/system/View/View.php
  • 运行php spark migrate
php spark migrate

  Running: (App) 20210101_000000_App/Database/Migrations/Auth
  Running: (App) 20210101_000001_App/Database/Migrations/AuthAlterUsers
  Running: (App) 20210101_000002_App/Database/Migrations/Adminigniter
  • 运行php spark db:seed AdminigniterSeeder
php spark db:seed AdminigniterSeeder

  Seeded: App/Database/Seeds/AdminigniterSeeder

4. 配置(认证、过滤器、自动加载)

注意:有关如何配置认证的所有信息,您可以在myth/auth中找到

  • 打开app/Config/Auth.php,找到$views, $passwordValidators和等,并将其更改为以下行
public $defaultUserGroup = 'user';

public $views = [
  'login'           => 'hamkamannan\adminigniter\Views\auth\login',
  'register'        => 'hamkamannan\adminigniter\Views\auth\register',
  'forgot'          => 'hamkamannan\adminigniter\Views\auth\forgot',
  'reset'           => 'hamkamannan\adminigniter\Views\auth\reset',
  'emailForgot'     => 'hamkamannan\adminigniter\Views\auth\emails\forgot',
  'emailActivation' => 'hamkamannan\adminigniter\Views\auth\emails\activation',
];

public $allowRegistration = true;
public $requireActivation = false; 
public $activeResetter = false;
public $allowRemembering = true;

public $passwordValidators = [
  'Myth\Auth\Authentication\Passwords\CompositionValidator',
  'Myth\Auth\Authentication\Passwords\NothingPersonalValidator',
  'Myth\Auth\Authentication\Passwords\DictionaryValidator',
  'Myth\Auth\Authentication\Passwords\PwnedValidator',
];
  • 打开app/Config/Filters.php,找到$aliases并添加以下行
public $aliases = [
  'csrf'     => CSRF::class,
  'toolbar'  => DebugToolbar::class,
  'honeypot' => Honeypot::class,
  'login'         => \Myth\Auth\Filters\LoginFilter::class,
  'role'          => \hamkamannan\adminigniter\Filters\RoleFilter::class,
  'permission'    => \hamkamannan\adminigniter\Filters\PermissionFilter::class,
];
  • 打开app/Config/Autoload.php,找到$psr4并添加以下行
public $psr4 = [
  APP_NAMESPACE   => APPPATH, // For custom app namespace
  'App'           => APPPATH,
  'Config'        => APPPATH . 'Config',
  'DataTables'    => APPPATH . 'Libraries/DataTables',
  'Adminigniter'  => APPPATH . 'Adminigniter',
];

5. 运行模块生成器

注意:这提供了创建新模块和克隆现有模块(仪表板、报告、横幅、页面)的命令。

  • 运行php spark module:create Dummy
php spark module:create Dummy

  created: Adminigniter/Database/Migrations/2021-05-16-050256_Dummy.php
  created: Adminigniter/Modules/Backend/Dummy/Config/Routes.php
  created: Adminigniter/Modules/Backend/Dummy/Controllers/Dummy.php
  created: Adminigniter/Modules/Backend/Dummy/Controllers/Api/Dummy.php
  created: Adminigniter/Modules/Backend/Dummy/Models/DummyModel.php
  created: Adminigniter/Modules/Backend/Dummy/Views/list.php
  created: Adminigniter/Modules/Backend/Dummy/Views/add.php
  created: Adminigniter/Modules/Backend/Dummy/Views/update.php
  • 运行php spark module:clone Page
php spark module:clone Page

  created: Adminigniter/Modules/Backend/Page/Config
  created: Adminigniter/Modules/Backend/Page/Models
  created: Adminigniter/Modules/Backend/Page/Controllers
  created: Adminigniter/Modules/Backend/Page/Views
  created: Adminigniter/Modules/Backend/Page
  created: Module Page has been clone
  created: Adminigniter/Database/Migrations/2021-05-16-102329_Page.php
  • 运行php spark migrate -n Adminigniter
php spark migrate -n Adminigniter

  Running: (Adminigniter) 2021-05-16-050256_App/Adminigniter/Database/Migrations/Dummy  
  Running: (Adminigniter) 2021-05-16-102329_App/Adminigniter/Database/Migrations/Page  

6. 运行开发服务器

注意:在端口8888上运行

php spark serve --port 8888

7. 在浏览器中打开https://:8888/dummy

Default user and password
+----+--------+-------------+
| No | User   | Password    |
+----+--------+-------------+
| 1  | admin  | password    |
+----+--------+-------------+

用法

您可以在代码路由、控制器和视图等中找到如何使用它的信息。

贡献

欢迎贡献。

许可

此软件包是免费软件,根据MIT许可条款分发。