Это плохая идея, поскольку вы можете случайно ввести угрозу безопасности в свой производственный код.Но в интересах экспериментов ...
Одним из способов было бы перезаписать валидацию в настройке защиты сессии по умолчанию, но я думаю, что это слишком рискованно.Поэтому я бы продублировал вашу существующую производственную охрану и заставил бы ее умереть, если бы не режим разработки.Вот пример, предполагающий, что вы используете сессионную охрану.
В /app/Providers/AuthServiceProvider.php
зарегистрируйте новую охрану:
use App\Services\Auth\SillyGuard;
...
public function boot()
{
$this->registerPolicies();
Auth::extend('silly', function ($app, $name, array $config) {
// Return an instance of Illuminate\Contracts\Auth\Guard...
return new SillyGuard(Auth::createUserProvider($config['provider']));
});
}
Добавьте его к своему /config/auth.php
- вы захотите перезаписать существующую веб-защиту, иначе вам придется переопределить все ваши маршруты при переходе от разработки к производству. При переходе в производственный режим вы должны переключить эту защиту обратно на исходный драйвер
'guards' => [
//others
'web' => [
'driver' => 'silly',
'provider' => 'users',
],
],
Скопируйте файл ...src/Illuminate/Auth/SessionGuard.php
в app/Services/Auth/SillyGuard.php
и внесите следующие изменения:
//namespace Illuminate\Auth;
namespace App\Services\Auth;
...
public function __construct($name,
UserProvider $provider,
SessionInterface $session,
Request $request = null)
{
if (!\App::environment('local') || !config('app.debug')) {
die("This guard only works in local debug mode");
}
$this->name...
...
protected function hasValidCredentials($user, $credentials)
{
//return ! is_null($user) && $this->provider->validateCredentials($user, $credentials);
return ! is_null($user);
}