#php #laravel #angular
#php #laravel #угловой
Вопрос:
Я использую Laravel с Angular 2 и столкнулся с проблемой, связанной с системой входа в систему, встроенной в Laravel. Я могу войти в систему просто отлично, но если пользователь вводит неправильные учетные данные, он перенаправляет обратно на предыдущую страницу, но это работает не так, как я хочу. Я хочу определить пользовательский путь для перенаправления. Я уже пытался использовать $LoginPath и изменить его на пользовательский путь, но это решение не работает.
Это функция по умолчанию из файла поставщика «vendorIlluminateFoundationAuthAuthenticateUsers.php «
protected function sendFailedLoginResponse(Request $request)
{
return redirect()->back()
->withInput($request->only($this->username(), 'remember'))
->withErrors([
$this->username() => Lang::get('auth.failed'),
]);
}
И это мой контроллер входа в систему
«AppHttpControllersAuthLoginController.php «
<?php
namespace AppHttpControllersAuth;
use AppHttpControllersController;
use IlluminateFoundationAuthAuthenticatesUsers;
class LoginController extends Controller
{
use AuthenticatesUsers;
/**
* Where to redirect users after login / registration.
*
* @var string
*/
protected $redirectTo = '/api/loginCheck';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest', ['except' => 'logout']);
}
}
Я хочу иметь возможность определить свой собственный путь к тому, куда пользователь должен быть перенаправлен после предоставления неправильных учетных данных для входа. Если кто-нибудь может мне помочь, я был бы очень признателен.
Ответ №1:
Поскольку вы используете use AuthenticatesUsers;
, вы можете просто переопределить sendFailedLoginResponse()
функцию по умолчанию, поместив ту же функцию в свой «AppHttpControllersAuthLoginController.php «
protected function sendFailedLoginResponse()
{
return redirect('/your/url/here');
}
Надеюсь, это поможет