Yii2 User module
Just another user module management functionalities., (*1)
- Optional self registration via front end
- Lost password retrieval(optional)
- User administration interface
- Flexible access control
- Console commnads(TODO)
- Advanced user (optional)
Installation
1. Download Yii2-user using composer
The preferred way to install this extension is through composer., (*2)
Either run, (*3)
php composer.phar require --prefer-dist nkostadinov/yii2-user "*"
or add, (*4)
"nkostadinov/yii2-user": "*"
to the require section of your composer.json
file., (*5)
Add following lines to your main configuration file:, (*6)
'components' => [
'user' => [
'class' => 'nkostadinov\user\components\User',
],
],
'modules' => [
'user' => [
'class' => 'nkostadinov\user\Module',
],
],
Step 3: Update database schema
NOTE: Make sure that you have properly configured db application component., (*7)
After you downloaded and configured Yii2-user, the last thing you need to do is updating your database schema by
applying the migrations:, (*8)
$ php yii migrate/up --migrationPath=@vendor/nkostadinov/yii2-user/migrations
How to run tests
Install codeception globally:, (*9)
$ composer global require "codeception/codeception=*" "codeception/specify=*" "codeception/verify=*"
Install globally the composer's asset plugin:, (*10)
$ composer global require "fxp/composer-asset-plugin:~1.1.0"
Go to nkostadinov/yii2-user directory and run:, (*11)
$ composer update
Build the codeception actors:, (*12)
$ codecept build
Create a new database called 'user_test':, (*13)
$ mysql -e 'create database user_test;'
Run the migrations:, (*14)
$ php tests/_app/yii migrate --interactive=0
Advanced user
The yii2-user extension has the following additional functionalities that can be added on demand:, (*15)
- [Password aging] (docs/PASSWORD_AGING.md)
- [Password history policy] (docs/PASSWORD_HISTORY_POLICY.md)
- [Account locking policy] (docs/ACCOUNT_LOCKING_POLICY.md)
- [First login policy] (docs/FIRST_LOGIN_POLICY.md)
Admin panel
You can find the admin panel on /user/admin/index route. In order to set proper permissions, change the access rules of the controller
via the $adminRules
property of the User component. Defaults to:, (*16)
[
[
'allow' => true,
'roles' => ['@']
]
]