Yii2 Users Module
Users management module
This module is an integral part of the Butterfly.СMS content management system, but can also be used as an standalone extension.
Copyrights (c) 2019-2023 W.D.M.Group, Ukraine
Requirements
- PHP 5.6 or higher
- Yii2 v.2.0.40 and newest
- Yii2 Base module (required)
Installation
To install the module, run the following command in the console:
$ composer require "wdmg/yii2-users"
After configure db connection, run the following command in the console:
$ php yii users/init
And select the operation you want to perform:
- Apply all module migrations
- Revert all module migrations
- Batch insert demo data*
* - The demo database contains 6 demo user`s with:
ID | Username | Password | Status | |
---|---|---|---|---|
100 | admin | admin | [email protected] | active |
101 | demo | demo | [email protected] | inactive |
102 | alice | alice | [email protected] | inactive |
103 | bob | bob | [email protected] | inactive |
104 | johndoe | johndoe | [email protected] | inactive |
105 | janedoe | janedoe | [email protected] | inactive |
Migrations
In any case, you can execute the migration and create the initial data, run the following command in the console:
$ php yii migrate --migrationPath=@vendor/wdmg/yii2-users/migrations
Configure
To add a module to the project, add the following data in your configuration file:
'components' => [
'user' => [
'identityClass' => 'wdmg\users\models\Users',
],
...
],
'modules' => [
'users' => [
'class' => 'wdmg\users\Module',
'routePrefix' => 'admin',
'rememberDuration' => (3600 * 24 * 30),
'signupConfirmation' => [
'needConfirmation' => false,
'checkTokenRoute' => 'site/signup-confirm',
'supportEmail' => '[email protected]',
'emailViewPath' => [
'html' => '@vendor/wdmg/yii2-users/mail/signupConfirmation-html',
'text' => '@vendor/wdmg/yii2-users/mail/signupConfirmation-text',
],
],
'passwordReset' => [
'resetTokenExpire' => 3600,
'checkTokenRoute' => 'site/reset-password',
'supportEmail' => '[email protected]',
'emailViewPath' => [
'html' => '@vendor/wdmg/yii2-users/mail/passwordReset-html',
'text' => '@vendor/wdmg/yii2-users/mail/passwordReset-text',
],
],
'multiSignIn' => true,
'sessionTimeout' => 0, // where `0` is unlimited
],
...
],
Usage
See the USECASES.md for more details.
Routing
Use the Module::dashboardNavItems()
method of the module to generate a navigation items list for NavBar, like this:
<?php
echo Nav::widget([
'options' => ['class' => 'navbar-nav navbar-right'],
'label' => 'Modules',
'items' => [
Yii::$app->getModule('users')->dashboardNavItems(),
...
]
]);
?>
Status and version [ready to use]
- v.1.2.7 - Fixed identity, add user options
- v.1.2.6 - Fixed copyrights and getUserId()
- v.1.2.5 - Fixed: syntax error, unexpected '::' (T_PAAMAYIM_NEKUDOTAYIM)
- v.1.2.4 - Multiple Sign In`s and logoffs by session timeout