cinghie / yii2-user-extended
由 Dektrium 扩展 Yii2 User 功能的模块。
0.6.3
2021-11-29 16:03 UTC
Requires
- cinghie/yii2-traits: @dev
- yiisoft/yii2: ^2.0.14
- yiisoft/yii2-jui: ^2.0.7
README
Yii2 User Extended:通过 Dektrium 扩展 Yii2 User:https://github.com/dektrium/yii2-user
这不是一个独立管理用户的模块,而是一个扩展 Yii2 User 扩展的模块。
安装
安装此扩展的首选方式是通过 composer。
运行以下命令:
php composer.phar require cinghie/yii2-user-extended "*"
或者将此行添加到您的 composer.json
文件的 require 部分。
"cinghie/yii2-user-extended": "*"
配置
1. 图片文件夹
将 img 文件夹复制到您的 webroot。
2. 更新 yii2 用户数据库模式
确保您已正确配置 db
应用程序组件,并运行以下命令:
$ php yii migrate/up --migrationPath=@vendor/dektrium/yii2-user/migrations
3. 添加 Yii2 RBAC 迁移
添加到 common 配置文件
'components' => [
'authManager' => [
'class' => 'yii\rbac\DbManager',
],
]
'modules' => [
'rbac' => 'dektrium\rbac\RbacWebModule',
],
并运行迁移
$ php yii migrate/up --migrationPath=@yii/rbac/migrations
4. 更新 yii2 用户扩展数据库模式
$ php yii migrate/up --migrationPath=@vendor/cinghie/yii2-user-extended/migrations
5. 设置配置文件
在配置文件的 modules 部分设置
'modules' => [
// Yii2 RBAC
'rbac' => [
'class' => 'dektrium\rbac\Module'
],
// Yii2 User
'user' => [
'class' => 'dektrium\user\Module',
// Yii2 User Controllers Overrides
'controllerMap' => [
'admin' => 'cinghie\userextended\controllers\AdminController',
'security' => 'cinghie\userextended\controllers\SecurityController',
'settings' => 'cinghie\userextended\controllers\SettingsController'
],
// Yii2 User Models Overrides
'modelMap' => [
'RegistrationForm' => 'cinghie\userextended\models\RegistrationForm',
'Profile' => 'cinghie\userextended\models\Profile',
'SettingsForm' => 'cinghie\userextended\models\SettingsForm',
'User' => 'cinghie\userextended\models\User',
],
],
// Yii2 User Extended
'userextended' => [
'class' => 'cinghie\userextended\Module',
'avatarPath' => '@webroot/img/users/', // Path to your avatar files
'avatarURL' => '@web/img/users/', // Url to your avatar files
'defaultRole' => '', // example 'registered'
'avatar' => true,
'bio' => false,
'captcha' => true,
'birthday' => true,
'firstname' => true,
'gravatarEmail' => false,
'lastname' => true,
'location' => false,
'onlyEmail' => false,
'publicEmail' => false,
'signature' => true,
'templateLogin' => 'login_prestashop', // login or login_prestashop
'templateLogoURL' => '@web/logo.png', // Url to logo
'templateRegister' => '_two_column', // _one_column or _two_column
'terms' => true,
'website' => false,
'showTitles' => true, // Set false in adminLTE
],
]
以及在 components 部分
'components' => [
'view' => [
'theme' => [
'pathMap' => [
'@dektrium/rbac/views/permission' => '@vendor/cinghie/yii2-user-extended/views/permission',
'@dektrium/rbac/views/role' => '@vendor/cinghie/yii2-user-extended/views/role',
'@dektrium/rbac/views/rule' => '@vendor/cinghie/yii2-user-extended/views/rule',
'@dektrium/user/views/admin' => '@vendor/cinghie/yii2-user-extended/views/admin',
'@dektrium/user/views/profile' => '@vendor/cinghie/yii2-user-extended/views/profile',
'@dektrium/user/views/role' => '@vendor/cinghie/yii2-user-extended/views/role',
'@dektrium/user/views/security' => '@vendor/cinghie/yii2-user-extended/views/adminlte/security',
'@dektrium/user/views/settings' => '@vendor/cinghie/yii2-user-extended/views/settings',
],
],
],
]
如果您有 Yii2 App Advanced,请添加到 Yii2 User 模块配置中
'modules' => [
'user' => [
'class' => 'dektrium\user\Module',
// restrict access to recovery and registration controllers from backend
'as backend' => 'dektrium\user\filters\BackendFilter',
// Settings
'enableRegistration' => false,
],
],
或使用 userextended 过滤器激活后端(dektrium 过滤器禁用它)
'modules' => [
'user' => [
'class' => 'dektrium\user\Module',
// restrict access to recovery and registration controllers from backend
'as backend' => 'cinghie\userextended\filters\BackendFilter',
// Settings
'enableRegistration' => false,
],
],
6. 在控制器中设置验证码
在 SiteController 中 actions() 函数中设置
'captcha' => [
'class' => 'yii\captcha\CaptchaAction',
'minLength' => 6,
'maxLength' => 6
],
覆盖
覆盖控制器示例,在模块配置中
'modules' => [
'userextended' => [
'class' => 'cinghie\userextended\Module',
'controllerMap' => [
'items' => 'app\controllers\AdminController',
'items' => 'app\controllers\SecurityController',
'items' => 'app\controllers\SettingsController',
]
]
],
覆盖模型示例,在模块配置中
'modules' => [
'userextended' => [
'class' => 'cinghie\userextended\Module',
'modelMap' => [
'Account' => 'app\models\Account',
'Assignment' => 'app\models\Assignment',
'LoginForm' => 'app\models\LoginForm',
'Permission' => 'app\models\Permission',
'Profile' => 'app\models\Profile',
'RegistrationForm' => 'app\models\RegistrationForm',
'SettingsForm' => 'app\models\SettingsForm',
'User' => 'app\models\User',
]
]
],
覆盖视图示例,在组件配置中
'components' => [
'view' => [
'theme' => [
'pathMap' => [
'@cinghie/userextended/views/admin' => '@app/views/userextended/admin',
],
],
],
],
功能
- 向用户配置文件添加新字段(可选参数)
- 头像
- 头像可以上传
- 头像可以更新
- 更新头像时,旧图像将被删除
- 生日
- 验证码
- 名
- 姓
- 姓名(名 + 姓)
- 签名
- 条款
- 头像
- 将 yii2-user 字段添加到用户配置文件,如可选参数
- 个人简介
- gravatar 邮箱
- 位置
- 公开邮箱
- 网站
- 在用户注册时添加默认角色