牛骨文教育服务平台(让学习变的简单)
博文笔记

Yii2-使用afterLogin和beforLogin自动更新上次登录时间

创建时间:2016-08-06 投稿人: 浏览次数:2151

先明确两点
* 如果User Model是继承自 ActiveRecord
* 而afterLogin 和 beforeLogin 是 yiiwebUser 的两个事件

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

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

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



声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。