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

来源:互联网 发布:java获取毫秒时间 编辑:程序博客网 时间:2024/04/28 14:01

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   输出 前后被调用的方法beforeValidateafterValidate校验 前后被调用的方法beforeSave   afterSave   这两个将在保存 AR 实例之前和之后被调用beforeDeleteafterDelete这两个将在一个 AR 实例被删除之前和之后被调用beforeLoadafterLoadIntegrity 开关  before为false  after为truebeforeUnloadafterUnloadIntegrity 开关  before为false  after为truebeforeSendafterSend邮件发送前后被调用的方法beforeLoginafterLogin用户成功登录前后被调用的方法beforeLogoutafterLogout用户成功登出前后被调用的方法


0 0
原创粉丝点击