У меня есть несколько маршрутов, которые я создал в файле маршруты/fortify.php. >
Некоторые из этих маршрутов используют другой fortify.guard (администратор и пользователь не имеют доступа к одним и тем же страницам).
Чтобы сделать это, я написал это в классе FortifyServiceProvider:
Код: Выделить всё
/**
* Register any application services.
*/
public function register(): void
{
Fortify::ignoreRoutes();
if(request()->is('api/v1/admin/*')){
config()->set('fortify.guard', 'admin');
}
}
См. код моего теста ниже:
Код: Выделить всё
public function loginAsTestAdmin(): void
{
$payload = ['email' => 'admin@example.com', 'password' => bcrypt('password')];
$this->post('api/v1/admin/login', $payload)->assertStatus(200);
}
Итак, я выяснил, что динамическое изменение конфигурации для установки правильной защиты, вероятно, не является способом Laravel сделать это.
Как мне объявить свои маршруты, чтобы они использовали правильную защиту?
Подробнее здесь: https://stackoverflow.com/questions/781 ... unit-tests