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方法 前后被调用的方法
beforeFilterafterFilter  过滤 前后被调用的方法
beforeRenderafterRender 输出 前后被调用的方法
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用户成功登出前后被调用的方法

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值