forked from dektrium/yii2-user
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Module.php
127 lines (96 loc) · 3.96 KB
/
Module.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
<?php
/*
* This file is part of the Dektrium project.
*
* (c) Dektrium project <http://github.com/dektrium/>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace dektrium\user;
use yii\base\Module as BaseModule;
/**
* This is the main module class for the Yii2-user.
*
* @property array $modelMap
*
* @author Dmitry Erofeev <dmeroff@gmail.com>
*/
class Module extends BaseModule
{
const VERSION = '0.9.12';
/** Email is changed right after user enter's new email address. */
const STRATEGY_INSECURE = 0;
/** Email is changed after user clicks confirmation link sent to his new email address. */
const STRATEGY_DEFAULT = 1;
/** Email is changed after user clicks both confirmation links sent to his old and new email addresses. */
const STRATEGY_SECURE = 2;
/** @var bool Whether to show flash messages. */
public $enableFlashMessages = true;
/** @var bool Whether to enable registration. */
public $enableRegistration = true;
/** @var bool Whether to remove password field from registration form. */
public $enableGeneratingPassword = false;
/** @var bool Whether user has to confirm his account. */
public $enableConfirmation = true;
/** @var bool Whether to allow logging in without confirmation. */
public $enableUnconfirmedLogin = false;
/** @var bool Whether to enable password recovery. */
public $enablePasswordRecovery = true;
/** @var bool Whether user can remove his account */
public $enableAccountDelete = false;
/** @var bool Enable the 'impersonate as another user' function */
public $enableImpersonateUser = true;
/** @var array which roles are allowed to impersonate into another user? */
public $allowImpersonateForRoles = ['admin'];
/** @var array which roles are never allowed to be impersonated into? */
public $denyImpersonateIntoRoles = ['admin'];
/** @var int Email changing strategy. */
public $emailChangeStrategy = self::STRATEGY_DEFAULT;
/** @var int The time you want the user will be remembered without asking for credentials. */
public $rememberFor = 1209600; // two weeks
/** @var int The time before a confirmation token becomes invalid. */
public $confirmWithin = 86400; // 24 hours
/** @var int The time before a recovery token becomes invalid. */
public $recoverWithin = 21600; // 6 hours
/** @var int Cost parameter used by the Blowfish hash algorithm. */
public $cost = 10;
/** @var array An array of administrator's usernames. */
public $admins = [];
/** @var string The Administrator permission name. */
public $adminPermission;
/** @var array Mailer configuration */
public $mailer = [];
/** @var array Model map */
public $modelMap = [];
/**
* @var string The prefix for user module URL.
*
* @See [[GroupUrlRule::prefix]]
*/
public $urlPrefix = 'user';
/**
* @var bool Is the user module in DEBUG mode? Will be set to false automatically
* if the application leaves DEBUG mode.
*/
public $debug = false;
/** @var string The database connection to use for models in this module. */
public $dbConnection = 'db';
/** @var array The rules to be used in URL management. */
public $urlRules = [
'<id:\d+>' => 'profile/show',
'<action:(login|logout|auth)>' => 'security/<action>',
'<action:(register|resend)>' => 'registration/<action>',
'confirm/<id:\d+>/<code:[A-Za-z0-9_-]+>' => 'registration/confirm',
'forgot' => 'recovery/request',
'recover/<id:\d+>/<code:[A-Za-z0-9_-]+>' => 'recovery/reset',
'settings/<action:\w+>' => 'settings/<action>'
];
/**
* @return string
*/
public function getDb()
{
return \Yii::$app->get($this->dbConnection);
}
}