moecasts / laravel-user-login-log
A package for log user login info
Requires
- php: ^7.2
- jenssegers/agent: ^2.6
Requires (Dev)
- orchestra/testbench: ^4.0
This package is auto-updated.
Last update: 2024-04-16 23:32:27 UTC
README
Document
Feature
- Log user login records
- Analyse user login logs
Installation
Required
- 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
Configurations
return [ /** * cache avtive time (seconds) */ 'expire' => 300, ];
Usage
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']);
Methods
Get user's logs
$user = new User; $user->loginLogs;
Create user login log
$user = new User; $user->createLoginLog();
Log when user newly login
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();
Check is new login
$user = new User; $user->isNewLogin();