https://github.com/yiisolutions/yii2-user-module
Yii2 user module
https://github.com/yiisolutions/yii2-user-module
Last synced: about 2 months ago
JSON representation
Yii2 user module
- Host: GitHub
- URL: https://github.com/yiisolutions/yii2-user-module
- Owner: yiisolutions
- License: bsd-3-clause
- Created: 2016-12-14T18:53:26.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2016-12-20T20:36:04.000Z (over 8 years ago)
- Last Synced: 2025-01-28T21:27:53.784Z (4 months ago)
- Language: PHP
- Size: 71.3 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# yii2-user-module
[](https://packagist.org/packages/yiisolutions/yii2-user-module)
[](https://packagist.org/packages/yiisolutions/yii2-user-module)
[](https://travis-ci.org/yiisolutions/yii2-user-module)
[](https://codecov.io/gh/yiisolutions/yii2-user-module)
[](https://packagist.org/packages/yiisolutions/yii2-user-module)Yii2 user module.
## Installation
Use composer
```bash
composer require "yiisolutions/yii2-user-module: @dev"
```or add to `composer.json`
```json
{
"require": {
"yiisolutions/yii2-user-module": "@dev"
}
}
```## Configuration
For enable user module edit your configuration
```php
[
// ...
'user' => [
'class' => 'yiisolutions\user\Module',
],
// ...
],
// ...
];
```## Console commands
This module provider console commands for manager users
* `user/commands/create` - create new user
* `user/commands/truncate` - clear user table## Web controller actions
This module provide web controller actions:
* `yiisolutions\user\actions\LoginAction` - for user login
* `yiisolutions\user\actions\LogoutAction` - for logout
* `yiisolutions\user\actions\SignUpAction` - for sign up new userFor enable these actions use controller `actions()` method
```php
[
'class' => LoginAction::className(),
'view' => 'login', // use @app/views/account/login.php view file
'on loginSuccess' => [$this, 'onLoginSuccess'], // alternative success callback (default redirect to back)
'on loginFailed' => [$this, 'onLoginFailed'], // do something when login failed (for example, logging)
],
'logout' => [
'class' => LogoutAction::className(),
],
'sign-up' => [
'class' => SignUpAction::className(),
],
];
}
/**
* Run when login success.
*/
public function onLoginSuccess(LoginEvent $event, LoginFormInterface $model)
{
// do something ...
$username = $model->getUserIdentity()->username;
Yii::info("User '{$username}' logged in");
// override default action return value
$event->return = $this->redirect('/profile');
}
/**
* Run when login error.
*/
public function onLoginFailed(LoginEvent $event, LoginFormInterface $model)
{
// do something ...
$user = $model->getUserIdentity();
if ($user instanceof IdentityInterface) {
// do something, when exists user fail login ...
} else {
// do something, else ...
}
$user = $model->getUserIdentity();
if ($user) {
// send email notification, increment attempt counter etc ...
}
}
}```