#php #laravel #authentication #laravel-8
Вопрос:
Я использую Laravel 8, и я пытался сделать охранника «мобильным». Я следил за некоторыми учебными пособиями в Интернете, но я не знаю, почему то, что, кажется, работает в этих учебниках, не работает с моей стороны. Я поискал в Интернете, и все, что я мог найти php artisan config:clear
, это то, что у меня никогда не получалось.
это код из моего auth.php
файла:
<?php
return [
'defaults' => [
'guard' => 'web',
'passwords' => 'users',
],
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'mobile'=> [
'driver'=>'session',
'provider'=>'technicians'
],
'api' => [
'driver' => 'sanctum',
'provider' => 'users',
'hash' => false,
]
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => AppModelsUser::class,
],
'technicians' => [
'driver' => 'eloquent',
'model' => AppModelsTechnician::class,
]
// 'users' => [
// 'driver' => 'database',
// 'table' => 'users',
// ],
],
'passwords' => [
'users' => [
'provider' => 'users',
'table' => 'password_resets',
'expire' => 60,
'throttle' => 60,
],
'technicians' => [
'provider' => 'technicians',
'table' => 'password_resets',
'expire' => 60,
'throttle' => 60
]
],
'password_timeout' => 10800,
];
В моих контроллерах я использую эту строку для аутентификации, что в свою очередь приводит к ошибке:
Auth::guard('mobile')->attempt(['email'=>'testmail@test.com',password=>'password']);
Комментарии:
1. Поделитесь ошибкой, что именно говорит Ларавель? Ты пробовал
php artisan cache:clear
? или вы можете удалить php-файлы по адресуroot-app/bootstrap/cache/*.php
2. @MohamedGamalEldin
InvalidArgumentException Auth guard [mobile] is not defined.
, это ошибка, которую я получаю3. Вы расширили аутентификацию в технической модели?
use IlluminateFoundationAuthUser as Authenticatable; class Technician extends Authenticatable {
Ответ №1:
Я нашел источник ошибки. Я использовал phpstorm для автоматической загрузки файлов через ftp на сервер. Итак, я случайно исключил папку конфигурации из списка синхронизируемых папок. так что мой auth.php на самом деле никогда не обновлялся. В противном случае код в порядке