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.
Either run
php composer.phar require --prefer-dist nkostadinov/yii2-user "*"
or add
"nkostadinov/yii2-user": "*"
to the require section of your composer.json
file.
- Configure your application
Add following lines to your main configuration file:
'components' => [
'user' => [
'class' => 'nkostadinov\user\components\User',
],
],
'modules' => [
'user' => [
'class' => 'nkostadinov\user\Module',
],
],
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
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
via the $adminRules
property of the User component. Defaults to:
[
[
'allow' => true,
'roles' => ['@']
]
]