miragesoft/yii2-user

Yii 2 用户认证模块

安装: 17

依赖者: 1

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

开放性问题: 0

类型:yii2-extension

0.0.1 2016-05-23 07:23 UTC

This package is not auto-updated.

Last update: 2024-09-23 13:42:05 UTC


README

安装

安装此扩展的首选方式是通过 composer

运行以下命令之一

composer require miragesoft/yii2-user "dev-master"

或在您的 composer.json 文件的 require 部分添加

"miragesoft/yii2-user": "dev-master"

使用

扩展安装完成后,只需在代码中通过以下方式使用它

配置

    'modules' => [
        ...
        'user' => [
            'class' => 'mirage\user\UserModule',
            'userUploadDir' => '@webroot/uploads/user', //base user upload directory
            'admins' => ['admin', 'mirage'], //Username for CRUD user 
        ],
        ...
    ],

可用的操作列表

  • /user/regist/signup 显示注册表单
  • /user/auth/login 显示登录表单
  • /user/auth/logout 用户登出(仅通过 POST 方法可用)
  • /user/auth/request-password-reset 显示密码重置请求表单
  • /user/auth/reset-password 显示重置密码表单
  • /user/settings/profile 显示个人资料设置表单
  • /user/settings/account 显示账户设置表单
  • /user/settings/change-password 显示更改密码设置表单
  • /user/admin/index 显示用户管理界面

菜单示例

您可以将注册、登录和登出链接添加如下

Yii::$app->user->isGuest ?
    ['label' => 'Sign in', 'url' => ['/user/auth/login']] :
    ['label' => 'Sign out (' . Yii::$app->user->identity->username . ')',
        'url' => ['/user/auth/logout'],
        'linkOptions' => ['data-method' => 'post']],
['label' => 'Register', 'url' => ['/user/regist/signup'], 'visible' => Yii::$app->user->isGuest]

其他模块调用用户信息

$userObj = new $this->userModuleClass(['moduleId' => 'user']);
$userApi = (object)['data'=>$userObj->userData(), 'info'=>$userObj->userInfo()];
print_r($userApi);
echo '<hr />';
echo 'Fullname: '.$userApi->info->fullname;

示例结果

stdClass Object
(
    [data] => stdClass Object
        (
            [id] => 1
            [username] => admin
            [created_at] => 1463562063
            [updated_at] => 1463562063
            [firstname] => Mirage
            [lastname] => Studio
            [fullname] => Mirage Studio
            [avatar] => avatar-img.jpg
            [cover] => 
            [bio] => 
            [data] => 
            [roles] => Array
                (
                )

        )

    [info] => stdClass Object
        (
            [id] => 1
            [username] => admin
            [created_at] => 1463562063
            [updated_at] => 1463562063
            [firstname] => Mirage
            [lastname] => Studio
            [fullname] => Mirage Studio
            [avatar] => /uploads/user/1/avatar/avatar-img.jpg
            [cover] => /assets/c5f36f99/images/default-cover.jpg
            [bio] => Not set
            [data] => Not set
            [roles] => Array
                (
                    [0] => stdClass Object
                        (
                            [name] => 
                        )

                )

        )

)
<hr />
Fullname: Mirage Studio