Как настроить промежуточное программное обеспечение в laravelPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как настроить промежуточное программное обеспечение в laravel

Сообщение Anonymous »

Итак, у меня есть промежуточное программное обеспечение для аутентификации, которое зарегистрировано в Http/Kernel.php как:

Код: Выделить всё

protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
];
Далее я внес изменения в функцию дескриптора промежуточного программного обеспечения в классе Authenticate:

Код: Выделить всё

public function handle($request, Closure $next)
{
if ($this->auth->check()) {
$user = $this->auth->user();

$currentDateTime     = strtotime('Y-m-d H:i:s');
$tokenExpirationTile = strtotime($user->token_expiration);

if ($currentDateTime auth->logout();
redirect('home/login')->with('message', 'Your session has expired. Please login in again');
}
} else {
redirect('home/login')->with('message', 'Please login before attempting to access that');
}
}
И наконец я создал маршрут:

Код: Выделить всё

Route::get('home/dashboard', 'HomeController@dashboard', ['middleware' => 'auth']);
Я могу посетить этот маршрут, но, будучи незарегистрированным пользователем, я должен быть перенаправлен.

Когда я пройду dd() в функции handle ничего не происходит.

Как мне заставить его запустить этот метод на этом маршруте?

Кроме того, когда речь идет о других контроллерах, где вам необходимо пройти аутентификацию перед каждым запросом действия, как сказать: «перед каждым действием запускайте этот метод». В рельсах я бы сделал before_action :method_name

Подробнее здесь: https://stackoverflow.com/questions/326 ... in-laravel
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»