Just another user module management functionalities.
- Optional self registration via front end
- Lost password retrieval(optional)
- User administration interface
- Flexible access control
- Console commnads(TODO)
- Advanced user (optional)
- Download Yii2-user using composer
The preferred way to install this extension is through composer.
php composer.phar require --prefer-dist nkostadinov/yii2-user "*"
to the require section of your
- Configure your application
Add following lines to your main configuration file:
'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.
After you downloaded and configured Yii2-user, the last thing you need to do is updating your database schema by applying the migrations:
$ php yii migrate/up --migrationPath=@vendor/nkostadinov/yii2-user/migrations
How to run tests
Install codeception globally:
$ composer global require "codeception/codeception=*" "codeception/specify=*" "codeception/verify=*"
Install globally the composer's asset plugin:
$ composer global require "fxp/composer-asset-plugin:~1.1.0"
Go to nkostadinov/yii2-user directory and run:
$ composer update
Build the codeception actors:
$ codecept build
Create a new database called 'user_test':
$ mysql -e 'create database user_test;'
Run the migrations:
$ php tests/_app/yii migrate --interactive=0
The yii2-user extension has the following additional functionalities that can be added on demand:
- [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)
You can find the admin panel on /user/admin/index route. In order to set proper permissions, change the access rules of the controller
$adminRules property of the User component. Defaults to:
[ [ 'allow' => true, 'roles' => ['@'] ] ]