su-pn-psu/yii2-user

适用于用户的 Yii 2

安装: 7

依赖项: 1

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 2

开放问题: 2

类型:yii2-extension

1.0 2016-09-05 12:21 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:20:15 UTC


README

安装

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

可以运行

composer require su-pn-psu/yii2-user "dev-master"

或者添加

"su-pn-psu/yii2-user": "dev-master"

到你的 composer.json 文件的 require 部分。

使用

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

配置

    'modules' => [
        ...
        'user' => [ //module id = 'user' only
            'class' => 'anda\user\Module',
            'loginBy' => 'db', //db or ldap (ldap not work)
            'userUploadDir' => '@uploads', //Base uploads Directory
            'userUploadUrl' => '/uploads', //Url of userUploadDir
            'userUploadPath' => 'user', //path after upload directory
            'admins' => ['admin', 'root'] //list of username for manage users
        ],
        ...
    ],
    'components' => [
        ...
        'user' => [
            'identityClass' => 'anda\user\models\User',
        ],
        ...
    ],

用户和配置文件迁移表

./yii migrate --migrationPath=@anda/user/migrations/

可用的操作列表

  • /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]

调用用户信息

//Current user
$user = Yii::$app->user->identity;
print_r($user->profile->resultInfo);
//if use $user->profile->resultData in result = base user data

示例结果

stdClass Object
(
    [id] => 1
    [username] => admin
    [email] => admin@su-pn-psu.net
    [created_at] => 1473135990
    [updated_at] => 1473135990
    [firstname] => Admin
    [lastname] => สูงสุด
    [fullname] => Admin สูงสุด
    [avatar] => /uploads/user/avatars/57ce45f61e617_57ce45f60fb8b.jpg
    [cover] => /assets/37f5d0d0/images/default-cover.jpg
    [bio] =>
    [data] => Not set
    [roles] => Array
        (
        )

)
//another user
$user = \anda\user\models\User::findOne(2);
print_r($user->profile->resultInfo);
//if use $user->profile->resultData in result = base user data

示例结果

stdClass Object
(
    [id] => 2
    [username] => surakit.c
    [email] => surakit.c@psu.ac.th
    [created_at] => 1473136616
    [updated_at] => 1473136616
    [firstname] => สุรกิจ
    [lastname] => ชูเดช
    [fullname] => สุรกิจ ชูเดช
    [avatar] => /uploads/user/avatars/57ce4a3126b31_57ce4a31218d0.jpg
    [cover] => /uploads/user/covers/57ce4a5bd842f_57ce4a5bd40bd.png
    [bio] =>
    [data] => Not set
    [roles] => Array
        (
        )

)