PHPackages                             hamkamannan/adminigniter - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. hamkamannan/adminigniter

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

hamkamannan/adminigniter
========================

Complete Authentication and Authorization system for CodeIgniter4 HMVC with Premium Admin LTE

v1.3.0(4y ago)23112MITJavaScriptPHP ^7.3||^8.0

Since May 14Pushed 4y ago1 watchersCompare

[ Source](https://github.com/hamkamannan/adminigniter)[ Packagist](https://packagist.org/packages/hamkamannan/adminigniter)[ RSS](/packages/hamkamannan-adminigniter/feed)WikiDiscussions master Synced today

READMEChangelog (10)Dependencies (5)Versions (31)Used By (0)

[![](https://camo.githubusercontent.com/cabbae02789d30ec1dddabd04cb82763433814de353a884825ed69a810bd2721/68747470733a2f2f636f646569676e697465722e636f6d2f6173736574732f696d616765732f636f646569676e69746572346c6f676f2e706e67)](https://camo.githubusercontent.com/cabbae02789d30ec1dddabd04cb82763433814de353a884825ed69a810bd2721/68747470733a2f2f636f646569676e697465722e636f6d2f6173736574732f696d616765732f636f646569676e69746572346c6f676f2e706e67)

[![](https://camo.githubusercontent.com/66bed0106b2c5f61a613bd3cca32b5162292234d2a059483eb7104b9c8bb933e/68747470733a2f2f706f7365722e707567782e6f72672f68616d6b616d616e6e616e2f61646d696e69676e697465722f76657273696f6e)](https://packagist.org/packages/hamkamannan/adminigniter)[![](https://camo.githubusercontent.com/399316db5d1448beeaed8d97f94b055b3044bc43ba9394a89f372a190da4e800/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5061636b6167652d68616d6b616d616e6e616e25324661646d696e69676e697465722d6c696768742e737667)](https://packagist.org/packages/hamkamannan/adminigniter)[![](https://camo.githubusercontent.com/dbf8a927d12f75f702c1fbf119d742300caf990c7e0117e4c31c52bd0648d8cb/68747470733a2f2f706f7365722e707567782e6f72672f68616d6b616d616e6e616e2f61646d696e69676e697465722f646f776e6c6f616473)](https://packagist.org/packages/hamkamannan/adminigniter)[![](https://camo.githubusercontent.com/b645412be1e4a02a5e5cbc3f92fb03e1a6c481f922e78364159a5ef9fea7e058/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f68616d6b616d616e6e616e2f61646d696e69676e69746572)](https://github.com/hamkamannan/adminigniter/blob/master/LICENSE.md)

Adminigniter
============

[](#adminigniter)

HMVC Module (CRUD) Generator with Complete Authentication and Authorization system for CodeIgniter4 comes with Admin LTE Template.

Feature
-------

[](#feature)

- Configurable backend theme [Premium Admin LTE](https://dashboardpack.com/)
- CSS framework [Bootstrap 4](https://getbootstrap.com/)
- Icons by [Font Awesome 5](https://fontawesome.com/)
- Role-based permissions (RBAC)
- Dynamically-Generated Menu (Drag &amp; Drop)
- Localized English / Indonesian

> NOTE: This library was inspired from [myth/auth](https://github.com/lonnieezell/myth-auth/) and [agungsugiarto/boilerplate](https://github.com/agungsugiarto/boilerplate)

Please feel free to contribute!
-------------------------------

[](#please-feel-free-to-contribute)

Demo On [mannan.id](https://mannan.id/)
---------------------------------------

[](#demo-on-mannanid)

Installation
------------

[](#installation)

**1.** Get The Module

> NOTE: Since the myth/auth packages is still under development, we need to change composer.json in root project directory. Open composer.json with your text editor and add code like [this](https://github.com/hamkamannan/adminigniter/blob/master/composer.json#L29-L30), or below like this.

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

And run require via composer

```
composer require hamkamannan/adminigniter
```

**2.** Codeigniter Config

> NOTE: Set up your CI\_ENVIRONMENT, baseURL, index page, and database config in your `.env`. File based on your existing database (If you don't have a `.env` file, you can copy first from `env` file: `cp env .env` first). If the database does not exist, create the database first.

```
#--------------------------------------------------------------------
# ENVIRONMENT
#--------------------------------------------------------------------

CI_ENVIRONMENT = development

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

app.baseURL = 'http://localhost: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.** Run `publish`, `migrate`, `seed`

> NOTE: To publish `Database/Migration`, `Database/Seed`, `public/assets`, `public/themes`, `Libraries/DataTables`, and patch HMVC `vendor/codeigniter4/framework/system/View/View.php`

- Run `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
```

- Run `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
```

- Run `php spark db:seed AdminigniterSeeder`

```
php spark db:seed AdminigniterSeeder

  Seeded: App/Database/Seeds/AdminigniterSeeder
```

**4.** Configuration (Auth, Filter, and Autoload)

> NOTE: Everything about how to configure auth you can find add [myth/auth](https://github.com/lonnieezell/myth-auth)

- app/Config/Auth.php Open `app/Config/Auth.php` find `$views, $passwordValidators and etc` and changes with these lines below:

```
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 Open `app/Config/Filters.php`, find `$aliases` and add these lines below:

```
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 Open `app/Config/Autoload.php`, find `$psr4` and add these lines below:

```
public $psr4 = [
  APP_NAMESPACE   => APPPATH, // For custom app namespace
  'App'           => APPPATH,
  'Config'        => APPPATH . 'Config',
  'DataTables'    => APPPATH . 'Libraries/DataTables',
  'Adminigniter'  => APPPATH . 'Adminigniter',
];
```

**5.** Run Module Generator

> NOTE: This provide command to create new module and clone available module (Dashboard, Report, Banner, Page).

- Run `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
```

- Run `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
```

- Run `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.** Run development server:

> NOTE: Running on port `8888`

```
php spark serve --port 8888
```

**7.** Open in browser

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

Usage
-----

[](#usage)

You can find how it works with the read code routes, controller and views etc.

Contributing
------------

[](#contributing)

Contributions are very welcome.

License
-------

[](#license)

This package is free software distributed under the terms of the [MIT license](LICENSE.md).

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity18

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity67

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~2 days

Recently: every ~9 days

Total

30

Last Release

1762d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/73fc4e5389f14c020dda1057af1a8dd8f29178bce1a27da683abf4fb7420a235?d=identicon)[hamkamannan](/maintainers/hamkamannan)

---

Top Contributors

[![hamkamannan](https://avatars.githubusercontent.com/u/82188082?v=4)](https://github.com/hamkamannan "hamkamannan (79 commits)")

---

Tags

Authenticationcodeigniterauthorizationhmvcadminigniter

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/hamkamannan-adminigniter/health.svg)

```
[![Health](https://phpackages.com/badges/hamkamannan-adminigniter/health.svg)](https://phpackages.com/packages/hamkamannan-adminigniter)
```

###  Alternatives

[league/oauth2-server

A lightweight and powerful OAuth 2.0 authorization and resource server library with support for all the core specification grants. This library will allow you to secure your API with OAuth and allow your applications users to approve apps that want to access their data from your API.

6.6k136.0M248](/packages/league-oauth2-server)[league/oauth2-client

OAuth 2.0 Client Library

3.8k118.6M1.2k](/packages/league-oauth2-client)[league/oauth1-client

OAuth 1.0 Client Library

99698.8M106](/packages/league-oauth1-client)[league/oauth2-google

Google OAuth 2.0 Client Provider for The PHP League OAuth2-Client

41721.2M118](/packages/league-oauth2-google)[codeigniter4/shield

Authentication and Authorization for CodeIgniter 4

417372.4k21](/packages/codeigniter4-shield)[auth0/auth0-php

PHP SDK for Auth0 Authentication and Management APIs.

40820.2M67](/packages/auth0-auth0-php)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
