nkostadinov / yii2-user
User management functionalities.
Installs: 601
Dependents: 1
Suggesters: 0
Security: 0
Stars: 11
Watchers: 7
Forks: 6
Open Issues: 0
Type:yii2-extension
Requires
Requires (Dev)
This package is auto-updated.
Last update: 2024-12-21 03:10:00 UTC
README
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)
Installation
- 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', ], ],
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
Advanced user
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)
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:
[
[
'allow' => true,
'roles' => ['@']
]
]