bupy7/yii2-password-behavior

此包已被放弃,不再维护。未建议替代包。

用于修改和创建用户账户密码的行为。

安装数: 8,279

依赖者: 0

建议者: 0

安全: 0

星标: 4

关注者: 1

分支: 0

公开问题: 0

类型:yii2-extension

1.0.1 2015-10-19 20:09 UTC

This package is auto-updated.

Last update: 2020-09-11 05:38:31 UTC


README

用于修改和创建用户账户密码的行为。

安装

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

运行以下命令之一:

php composer.phar require --prefer-dist bupy7/yii2-password-behavior "*"

或者将以下内容添加到你的composer.json文件的require部分:

"bupy7/yii2-password-behavior": "*"

用法

使用bupy7\password\PasswordInterface实现你的用户身份模型,并添加以下代码

use Yii;

/**
 * @inheritdoc
 */
public function validatePassword($password)
{
    return Yii::$app->security->validatePassword($password, $this->password);
}

/**
 * @inheritdoc
 */
public function setPassword($password)
{
    $this->password = Yii::$app->security->generatePasswordHash($password);
}

在你的模型中添加以下属性

public $old_password;
public $new_password;
public $confirmed_password;

在控制器中附加行为到模型

use bupy7\password\PasswordBehavior;

$model->attachBehavior('passwordBehavior', [
    'class' => PasswordBehavior::className(),
    // other configurations
]);

如果你想带验证旧密码来设置密码

在你的控制器中

use bupy7\password\PasswordBehavior;

$model->attachBehavior('passwordBehavior', [
    'class' => PasswordBehavior::className(),
    'skipOnEmpty' => true,
    'checkPassword' => true,
    'scenarios' => [$model->scenario],
]);

如果你想不带验证旧密码来设置新密码

在你的控制器中

use bupy7\password\PasswordBehavior;

$model->attachBehavior('passwordBehavior', [
    'class' => PasswordBehavior::className(),
    'skipOnEmpty' => true,
    'checkPassword' => false,
    'scenarios' => [$model->scenario],
]);

如果必须设置密码(例如,注册)

use bupy7\password\PasswordBehavior;

$model->attachBehavior('passwordBehavior', [
    'class' => PasswordBehavior::className(),
    'skipOnEmpty' => false,
    'checkPassword' => false,
    'scenarios' => [$model->scenario],
]);

##许可协议

yii2-password-behavior遵循BSD 3-Clause许可协议发布。