enigmatix/yii2-confirmation

允许将值缓存并存储在表中,以供稍后批准

安装: 72

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 3

分支: 0

开放问题: 0

类型:yii2-extension

1.1.1 2017-03-31 00:11 UTC

This package is not auto-updated.

Last update: 2024-09-28 20:03:49 UTC


README

Latest Stable Version Latest Unstable Version Build Status Scrutinizer Code Quality License

确认行为

此行为通过发送电子邮件确认请求来保护模型中的变量不被更改。这最适合用于安全信息,例如与用户账户关联的电子邮件地址,您希望确保用户在提交更改之前能够访问新电子邮件地址。

一旦用户尝试更改电子邮件,请求和对象将被存储,释放令牌将被发送到新电子邮件地址,如果更改了另一个属性,则发送到用户的当前电子邮件地址。

该功能遍历到用户表的 'createdBy' 链接。如果在模型中找不到电子邮件,并且无法从 'createdBy' 链接检索电子邮件,将抛出异常。

安装

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

运行以下命令之一

php composer.phar require --prefer-dist enigmatix/yii2-confirmation "*"

"enigmatix/yii2-confirmation": "*"

将以下内容添加到您的 composer.json 文件的 require 部分中。

使用方法

安装扩展后

  1. 运行迁移
./yii migrate --migrationPath=@vendor/enigmatix/yii2-confirmation/migration

  1. 将行为添加到适当的模型。

Class User extends ActiveRecord {

...
    public function behaviors()
    {
        return [
        ...
            [
                'class'                 => ConfirmationBehavior::className(),
                'protectedAttributes'   => ['email'], //your attribute name here
              //'allow'                 => ['roleA', ['roleB']

            ],
        ];
    }
}

'allow' 节点是可选的,仅在您希望排除某些角色生成确认时才需要。通常对管理员或其他特权用户很有用。

  1. 将控制器添加到您的前端或 app/config/main.php 配置文件中。
return [
...
    'controllerMap' => [
        'confirmation-requests' => 'enigmatix\confirmation\ConfirmationRequestsController'
    ],
];