Это работа для меня,
Я делаю промежуточное ПО под названием CheckTime
, а в middleware
проверяю пользователя is_admin
, затем пропускаю, если нет, проверяю время, если время между 10 и 6тогда пользователь логин еще покажет ошибку под названием Please Login Between Allowed time
спасибо за все ваши ответы.
<?php
namespace App\Http\Middleware;
use Illuminate\Contracts\Auth\Guard;
use Illuminate\Support\Facades\Auth;
use Carbon\Carbon;
use Closure;
class CheckTime
{
protected $auth;
public function __construct(Guard $auth)
{
$this->auth = $auth;
}
public function handle($request, Closure $next)
{
$user = $this->auth->user();
// Check user is an admin or not
if (! is_admin()) {
$time = Carbon::now(); // Current time
$start = Carbon::create($time->year, $time->month, $time->day, 10, 0, 0); //set time to 10:00
$end = Carbon::create($time->year, $time->month, $time->day, 18, 0, 0); //set time to 18:00
// Checking the Allowed Time or not
if (!isAllowedTime()) {
\Session::flush();
return redirect('login')->with('error')
}
}
return $next($request);
}
}