Во-первых, я начал с изменения свойства черты use AuthenticatesUsers
, чтобы оно использовало пользовательский, он был определен в том же пространстве имен - конечно, я удалил использование из верхней части класса.
Я как бы «расширил» черту, которую, я думаю, и просто прослушал ввод с конкретным именем, чтобы определить, какой маршрут возвращать. Что касается добавления ввода, я предварительно загружал некоторые JS в приложение Electron при загрузке окна, чтобы добавить вход и его значение.
<?php
namespace App\Http\Controllers\Auth;
use Illuminate\Http\Request;
trait AuthenticatesUsers
{
use \Illuminate\Foundation\Auth\AuthenticatesUsers {
\Illuminate\Foundation\Auth\AuthenticatesUsers::login as parentLogin;
}
private $newRouteUrl = '/newroute';
public function login(Request $request)
{
$this->validateLogin($request);
if ($this->hasTooManyLoginAttempts($request)) {
$this->fireLockoutEvent($request);
return $this->sendLockoutResponse($request);
}
if ($this->attemptLogin($request)) {
if ($request->input('newRouteIdentifierInput')) {
return $this->sendNewRouteResponse($request);
}
return $this->sendLoginResponse($request);
}
$this->incrementLoginAttempts($request);
return $this->sendFailedLoginResponse($request);
}
protected function sendNewRouteResponse(Request $request)
{
$request->session()->regenerate();
$this->clearLoginAttempts($request);
return $this->authenticated($request, $this->guard()->user())
?: redirect()->intended($this->newRouteUrl);
}
}