每次API调用都会触发Auth事件 - Laravel

时间:2016-02-05 08:37:46

标签: php laravel

这是我的EventServiceProvider

protected $listen = [
        'event.name' => [
            'EventListener',
        ],
        'auth.login' => [
            \App\Listeners\UserEventLoginHandler::class,
        ],
    ];

这是我的UserEventLoginHandler

class UserEventLoginHandler {

    public function handle($event) {

        $user = \Auth::user();

        $user->last_login_at = Carbon::now();

        $user->save();

        $user_login_log = new UserLoginLog;

        $user_login_log->user_id = $user->user_id;
        $user_login_log->ip_address = $_SERVER['REMOTE_ADDR'];
        $user_login_log->logged_in_at = Carbon::now();

        $user_login_log->save();
    }
}

我面临的问题是每次API调用,即使用户已登录,此事件也会运行。 它不应该只在用户第一次登录时运行吗?

我是否必须在其他地方进行一些更改?或者我的代码中有错误吗?

routes.php文件

Route::group(['prefix' => 'api/v1/finance', 'middleware' => ['auth', 'sessionExpired']], function () {
    Route::get('/details', ['uses' => '\App\Http\Controllers\Finance\FinanceController@index']);
});

0 个答案:

没有答案