Этого можно добиться, создав пользовательское промежуточное программное обеспечение, ознакомившись с документацией здесь:
https://laravel.com/docs/5.8/middleware
Вместо использования сеанса вы можете поддерживать пользователя взрослым или нет.в таблице users
, что означает, что вы можете получить доступ к этой информации через аутентифицированного пользователя (который доступен во всем приложении).
Например, в вашем приложении, используйте php artisan make:auth
, и это выкинет все, что вынужно для регистрации / входа в систему.Перед запуском миграции добавьте новое поле к миграции create_users_table
, например, $table->boolean('adult')->default(false);
Затем, после запуска миграции, вы можете создать новое промежуточное программное обеспечение, используя: php artisan make:middleware CheckAdult
что-то вроде этого:
<?php
namespace App\Http\Middleware;
use Closure;
class CheckAdult
{
public function handle($request, Closure $next)
{
if (!auth()->check() || !auth()->user()->adult) {
return redirect('/');
}
return $next($request);
}
}
Вышеуказанное промежуточное ПО перенаправит любого, кто еще не вошел в систему или не имеет adult = 0
назад на страницу индекса, в противном случае продолжит выполнение своего запроса.
Затем зарегистрируйте промежуточное ПО и используйте его вмаршруты;согласно документации.