美文网首页
Yii2-使用afterLogin和beforLogin自动更新

Yii2-使用afterLogin和beforLogin自动更新

作者: duandaoke | 来源:发表于2018-08-09 17:43 被阅读0次

    先明确两点

    • 如果User Model是继承自 ActiveRecord
    • 而afterLogin 和 beforeLogin 是 yii\web\User 的两个事件

    那么把 yii\web\User 的两个事件挂载在 User Model 肯定不会触发了。

    可以通过配置来解决,配置是支持事件挂载的;
    例如:

    
    'components' =>[
        ...
        'user' => [
            'identityClass' => 'common\models\User',
            'enableAutoLogin' => true,
            'on beforeLogin' => function($event) {
                $user = $event->identity; //这里的就是User Model的实例
                $user->last_login_at = time();
                $user->save();
                ...
            },
            'on afterLogin' => function($event) {
                //the same
            }
        ],
        ...
    ]
    
    

    相关文章

      网友评论

          本文标题:Yii2-使用afterLogin和beforLogin自动更新

          本文链接:https://www.haomeiwen.com/subject/ldpcbftx.html