enigmatix / yii2-confirmation
允许将值缓存并存储在表中,以供稍后批准
1.1.1
2017-03-31 00:11 UTC
Requires
- yiisoft/yii2: *
- yiisoft/yii2-swiftmailer: ~2.0.0
Requires (Dev)
- codeception/base: ^2.2.3
- codeception/verify: ~0.3.1
- yiisoft/yii2-debug: ~2.0.0
- yiisoft/yii2-faker: ~2.0.0
This package is not auto-updated.
Last update: 2024-09-28 20:03:49 UTC
README
确认行为
此行为通过发送电子邮件确认请求来保护模型中的变量不被更改。这最适合用于安全信息,例如与用户账户关联的电子邮件地址,您希望确保用户在提交更改之前能够访问新电子邮件地址。
一旦用户尝试更改电子邮件,请求和对象将被存储,释放令牌将被发送到新电子邮件地址,如果更改了另一个属性,则发送到用户的当前电子邮件地址。
该功能遍历到用户表的 'createdBy' 链接。如果在模型中找不到电子邮件,并且无法从 'createdBy' 链接检索电子邮件,将抛出异常。
安装
安装此扩展的首选方式是通过 composer。
运行以下命令之一
php composer.phar require --prefer-dist enigmatix/yii2-confirmation "*"
或
"enigmatix/yii2-confirmation": "*"
将以下内容添加到您的 composer.json
文件的 require 部分中。
使用方法
安装扩展后
- 运行迁移
./yii migrate --migrationPath=@vendor/enigmatix/yii2-confirmation/migration
- 将行为添加到适当的模型。
Class User extends ActiveRecord {
...
public function behaviors()
{
return [
...
[
'class' => ConfirmationBehavior::className(),
'protectedAttributes' => ['email'], //your attribute name here
//'allow' => ['roleA', ['roleB']
],
];
}
}
'allow' 节点是可选的,仅在您希望排除某些角色生成确认时才需要。通常对管理员或其他特权用户很有用。
- 将控制器添加到您的前端或 app/config/main.php 配置文件中。
return [
...
'controllerMap' => [
'confirmation-requests' => 'enigmatix\confirmation\ConfirmationRequestsController'
],
];