Laravel — Усиление защиты для различных маршрутов и модульных тестовPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Гость
 Laravel — Усиление защиты для различных маршрутов и модульных тестов

Сообщение Гость »

В настоящее время я разрабатываю модульный тест для своих маршрутов и столкнулся со странной ситуацией.
У меня есть несколько маршрутов, которые я создал в файле маршруты/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');
}
}
Теперь, когда я запускаю тест php artisan, он больше не работает, поскольку маршрут request() — GET / (это я и делаю не знаю почему.)
См. код моего теста ниже:

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

public function loginAsTestAdmin(): void
{
$payload = ['email' => 'admin@example.com', 'password' => bcrypt('password')];
$this->post('api/v1/admin/login', $payload)->assertStatus(200);
}
При вызове этого маршрута тест if(request()->is('api/v1/admin/*')) завершается неудачно, и поэтому защита пытается извлекает модель «Пользователь» вместо модели «Администратор» в базе данных и приводит к сбою аутентификации (поскольку пользователь с адресом электронной почты «admin@example.com» не существует).
Итак, я выяснил, что динамическое изменение конфигурации для установки правильной защиты, вероятно, не является способом Laravel сделать это.
Как мне объявить свои маршруты, чтобы они использовали правильную защиту?

Подробнее здесь: https://stackoverflow.com/questions/781 ... unit-tests
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Обновление PHP и усиление защиты облачного Linux
    Anonymous » » в форуме Php
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Как увеличить усиление AudioTrack?
    Anonymous » » в форуме Android
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Преобразовать усиление для цикла с внутренним итератором в потоковую передачу
    Anonymous » » в форуме JAVA
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Как запустить отладчик IntelliJ для модульных тестов в проекте Maven?
    Anonymous » » в форуме JAVA
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • Как имитировать взаимодействие пользователя с приложением Python Telegram WebApp для модульных тестов?
    Anonymous » » в форуме Python
    0 Ответы
    79 Просмотры
    Последнее сообщение Anonymous

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