feat: ✨ logout all unpublished users #16
This commit is contained in:
parent
d9881c7cbf
commit
4d74ebce18
6 changed files with 38 additions and 8 deletions
|
|
@ -67,5 +67,6 @@ class Kernel extends HttpKernel
|
|||
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
|
||||
'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
|
||||
'htmlsanitize' => \App\Http\Middleware\HtmlSanitizer::class,
|
||||
'logoutuser' => \App\Http\Middleware\LogoutUnpublishedUsers::class,
|
||||
];
|
||||
}
|
||||
|
|
|
|||
27
app/Http/Middleware/LogoutUnpublishedUsers.php
Normal file
27
app/Http/Middleware/LogoutUnpublishedUsers.php
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
|
||||
class LogoutUnpublishedUsers
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Closure $next
|
||||
* @return mixed
|
||||
*/
|
||||
public function handle($request, Closure $next)
|
||||
{
|
||||
/** @var \App\Models\User $userModel */
|
||||
$userModel = Auth::user();
|
||||
if (!is_null($userModel) && !$userModel->published) {
|
||||
Auth::logout();
|
||||
return redirect()->route('bo.login')->with('warning', trans('auth.unpublished_user'));
|
||||
}
|
||||
return $next($request);
|
||||
}
|
||||
}
|
||||
|
|
@ -16,7 +16,7 @@ use Illuminate\Support\Facades\Hash;
|
|||
* @property string $email Email.
|
||||
* @property string $password Password.
|
||||
* @property \App\Enums\Users\RoleEnum $role Role.
|
||||
* @property \Illuminate\Support\Carbon $published Published status.
|
||||
* @property boolean $published Published status.
|
||||
* @property \Illuminate\Support\Carbon $published_at Publication status update date.
|
||||
* @property-read \Illuminate\Support\Carbon $created_at Created date.
|
||||
* @property-read \Illuminate\Support\Carbon $updated_at Updated date.
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@
|
|||
declare(strict_types=1);
|
||||
|
||||
return [
|
||||
'failed' => 'These credentials do not match our records.',
|
||||
'password' => 'The password is incorrect.',
|
||||
'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',
|
||||
'failed' => 'These credentials do not match our records.',
|
||||
'password' => 'The password is incorrect.',
|
||||
'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',
|
||||
'unpublished_user' => 'Your account has been deactivated, please contact a site administrator.',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@
|
|||
declare(strict_types=1);
|
||||
|
||||
return [
|
||||
'failed' => 'Ces identifiants ne correspondent pas à nos enregistrements.',
|
||||
'password' => 'Le mot de passe est incorrect',
|
||||
'throttle' => 'Tentatives de connexion trop nombreuses. Veuillez essayer de nouveau dans :seconds secondes.',
|
||||
'failed' => 'Ces identifiants ne correspondent pas à nos enregistrements.',
|
||||
'password' => 'Le mot de passe est incorrect',
|
||||
'throttle' => 'Tentatives de connexion trop nombreuses. Veuillez essayer de nouveau dans :seconds secondes.',
|
||||
'unpublished_user' => 'Votre compte à été désactivé, veuillez contactez un administrateur du site.',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ Route::prefix('bo')
|
|||
]
|
||||
);
|
||||
});
|
||||
Route::middleware('auth:backend')->group(function () {
|
||||
Route::middleware(['auth:backend', 'logoutuser'])->group(function () {
|
||||
Route::get('/', [DashboardController::class, 'index'])->name('dashboard');
|
||||
|
||||
// * USERS.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue