- Log user login records
- Analyse user login logs
- PHP 7.0+
- Laravel 5.5+
You can install the package using composer
composer require moecasts/laravel-user-login-log
If you are using Laravel < 5.5, you need to add provider to your config/app.php providers array:
Moecasts\Laravel\UserLoginLog\UserLoginLogServiceProvider,
Publish the mirgrations file:
php artisan vendor:publish --tag=laravel-user-login-log-migrations
As optional if you want to modify the default configuration, you can publish the configuration file:
php artisan vendor:publish --tag=laravel-user-login-log-config
And create tables:
php artisan migrate
return [
/**
* cache avtive time (seconds)
*/
'expire' => 300,
];
Firstly, add LoginLoggable
trait to your authenticatable model.
use Moecasts\Laravel\UserLoginLog\Traits\LoginLoggable;
class User extends Authenticatable
{
use LoginLoggable;
}
Next, simply register the newly created class after auth middleware in your middleware stack.
// app/Http/Kernel.php
class Kernel extends HttpKernel
{
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
// ...
'login.log' => \Moecasts\Laravel\UserLoginLog\Middleware\UserLoginLogMiddleware::class,
];
// ...
}
Finally, use the middleware:
Route::get('hello')->middleware(['auth', 'login.log']);
$user = new User;
$user->loginLogs;
$user = new User;
$user->createLoginLog();
This function is depet on cache, when your newly login, it will set a cache with for $seconds
or default config ( loginlog.expire
) seconds when $seconds
is not set.
$user = new User;
// $user->logLogin($seconds = null)
$user->logLogin();
$user = new User;
$user->isNewLogin();