Yii2使用beforeLogout事件更新用户登录信息

beforeLogout 是 yii\web\User 的事件,如果想触发这个事件,可以把该事件挂载到配置文件中,

因为配置是支持事件挂载的:

'components' => [
        'user' => [
            'identityClass' => 'backend\models\AdminUser',
            'enableAutoLogin' => true,
            'on beforeLogout' => function($event){  //挂载beforeLogout事件
                $adminUser = $event->identity;<span style="white-space:pre">	</span>    //AdminUser模型的实例
                $adminUser->setScenario('beforeLogout'); //(自定义)设置验证规则指定场景
                $adminUser->last_login_time = time();
                $adminUser->last_login_ip = Yii::$app->request->userIP;
                $adminUser->update();
            }
        ],
 ]
注:因为AdminModel是AR,所以如果将 yii\web\User的事件加载到Model中是不会触发的。


yii2 常用的before和after事件:

beforeAction    afterAction 方法 前后被调用的方法
beforeFilter    afterFilter 过滤 前后被调用的方法
beforeRender    afterRender    输出 前后被调用的方法
beforeValidate afterValidate 校验 前后被调用的方法
beforeSave    afterSave    这两个将在保存 AR 实例之前和之后被调用
beforeDelete afterDelete 这两个将在一个 AR 实例被删除之前和之后被调用
beforeLoad afterLoad Integrity 开关  before为false  after为true
beforeUnload afterUnload Integrity 开关  before为false  after为true
beforeSend afterSend 邮件发送前后被调用的方法
beforeLogin afterLogin 用户成功登录前后被调用的方法
beforeLogout afterLogout 用户成功登出前后被调用的方法



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值