Переключение пользователя в laravel 5.4
Я переключаю пользователей в laravel, и мне это тоже удалось, но дело в том, что когда я перенаправляю пользователя на панель мониторинга после успешного входа в систему, он перенаправляет в форму входа, вместо этого я не знаю, что я делаю неправильно. Вот код, который я использую.
public function user_reauthenticate(Request $request) {
$input = Input::all();
$data = User::where('email', $input['email'])->first();
if ($data) {
if (Hash::check($input['password'], $data->password)) {
Session::put('email', $input['email']);
$newuser = Student::find($input['new_user']);
session(['orig_user' => $data->id]);
Auth::login($newuser);
return Redirect::back();
} else {
$response = 'Wrong Credentials';
}
} else {
$response = 'User does not exist';
}
}
Может ли кто-нибудь помочь мне выяснить проблему заранее спасибо.
2 ответа
отредактированный
Вы можете войти через
Auth::loginUsingId(1);
Новый отредактированный
// If you have the guard student and multiple auth
$auth = auth()->guard('student');
$objAuth = $auth->loginUsingId($input['new_user']);
//Single Auth
$objAuth = Auth::loginUsingId($input['new_user']);
Добавьте это к вашей верхней части файла:- use Illuminate\Foundation\Auth\AuthenticatesUsers;
Затем добавьте if
Функция как ниже в вашем уже завершенном коде:-
public function user_reauthenticate(Request $request)
{
use AuthenticatesUsers;
$input = Input::all();
$data = User::where('email', $input['email'])->first();
if ($data) {
if (Hash::check($input['password'], $data->password))
{
Session::put('email', $input['email']);
$newuser = Student::find($input['new_user']);
session(['orig_user' => $data->id]);
Auth::login($newuser);
if ($this->attemptLogin($request))
{
return $this->sendLoginResponse($request);
}
}
else
{
$response = 'Wrong Credentials';
}
}
else
{
$response = 'User does not exist';
}
}
После этого метода переопределите этот метод следующим образом:
protected function authenticated(Request $request, $user)
{
return redirect()->route('dashboard');
}
Проверьте, называется ли ваш маршрут панели мониторинга панелью мониторинга или нет.