6.3 KiB
Yii 2 Usuario Extension
Yii 2 usuario is a highly customizable and extensible user management, RBAC management, authentication, and authorization Yii2 module extension.
It works extensively with Yii's Container making it really easy to override absolutely anything within its core. The module is built to work out of the box with some minor config tweaks and it comes with the following features:
- Backend user/profile/account management
- Backend RBAC management
- Login via username/email + password process
- Login via social network process
- Password recovery process
Getting Started
This extension has been built to be working out of the box, that is, after you install its migrations and configure
the module on your application structure, you should be set to go.
Step 1 - Download
You can download it and place it on your third party libraries folder but we highly recommend that you install it through composer.
Either run
$ composer require 2amigos/yii2-usuario:~1.0
or add
"2amigos/yii2-usuario": "~1.0"
to the require section of your composer.json file.
Step 2 - Apply database schema migrations
This is obvious extension like our which deals with users, roles, permissions, etc. have to use some database.
Our migrations are namespaced and available in Da\User\Migration namespace.
Note
: If you are using Yii2's Advanced Application Template, before starting to work with database, please ensure you have deleted
m130524_201442_init.phpmigration file which comes from the default installation. It's located at%PROJECT_DIR%/console/migrations/m130524_201442_init.phppath.
There are two ways to apply migrations of this extension, the first one:
./yii migrate --migrationNamespaces=Da\\User\\Migration
./yii migrate --migrationPath=@yii/rbac/migrations
./yii migrate
First command applies migration set of the user module, and the second one is for Yii RBAC migration, the third is for your own application migrations.
Note
: you cannot mix two ways: choose one of them, and stick with it.
The second way is more comfortable, and you don't have to remember to launch first command every time you obtain
new version of our extension. First of all add the following lines to the file
%PROJECT_DIR%/console/config/main.php:
return [
// ...
'controllerMap' => [
'migrate' => [
'class' => \yii\console\controllers\MigrateController::class,
'migrationNamespaces' => [
'Da\User\Migration',
],
],
],
// ...
];
This basically instructs your application to always try to use migrations from the given namespace. Which again is very convenient way to track new migration classes coming from this and possibly other extensions and sources.
Note
: You will still have to apply Yii 2 RBAC migrations by executing
./yii migrate --migrationPath=@yii/rbac/migrations. Also, namespaced migrations were introduced in Yii 2.0.10, so before using them consider updating your framework installation version. If you are using a Yii 2 version prior to 2.0.10, you'll have to copy the migrations located onvendor/2amigos/yii2-usuario/src/User/Migration, remove its namespaces and add it to your @app/migrations folder.
Step 3 - Configure
Once we have it installed, we have to configure it on your config.php file.
'modules' => [
'user' => [
'class' => Da\User\Module::class,
]
]
Configuration may differ from template to template, the following are some guidelines for sidekit app template and the official Yii2 advanced application template:
See also all the possible configuration options available:
Enhancing and Overriding
Events
Events are a good way to execute logic before and after certain processes. Yii2 Usuario comes with a huge list of them.
The recommended way to make use of events is by creating a new file in your config folder (i.e. events.php), configure
there all your events and then include that file on your
entry script.
- User Events
- Form Events
- Reset Password Events
- Social Network Authentication Events
- Social Network Connection Events
Helpful Guides
Contributing
© 2amigos 2013-2017
