hamkamannan / adminigniter
CodeIgniter4 HMVC的完整认证和授权系统,带有高级Admin LTE模板
Requires
- php: ^7.3||^8.0
- codeigniter4/framework: ^4.1
- myth/auth: dev-develop
Requires (Dev)
- fakerphp/faker: ^1.13
- mikey179/vfsstream: ^1.6
- phpunit/phpunit: ^9.1
Suggests
- ext-fileinfo: Improves mime type detection for files
README
Adminigniter
带有完整认证和授权系统的CodeIgniter4 HMVC模块(CRUD)生成器,包含Admin LTE模板。
功能
- 可配置的后端主题 高级Admin LTE
- CSS框架 Bootstrap 4
- 图标由 Font Awesome 5 提供
- 基于角色的权限(RBAC)
- 动态生成菜单(拖放)
- 本地化英语/印度尼西亚语
注意:此库受到了myth/auth和agungsugiarto/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. 运行publish、migrate、seed
注意:要发布
Database/Migration、Database/Seed、public/assets、public/themes、Libraries/DataTables,并修补HMVCvendor/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:createDummy
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:clonePage
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许可条款分发。