Когда пользователи входят в систему, я бы хотел, чтобы они были перенаправлены на страницу, на которой они были раньше, с тем же хешем, который был у них с этой страницы.
Например, если они были на x.com/x#abc
и вошли в систему, они должны быть перенаправлены обратно на x.com/x#abc
Я успешно использую AJAX для сохранения значения хеш-значения при входе в систему в сеансе:
Session::put('login_hash', $_POST['hash']);
Затем я пытаюсь настроить код в RedirectsUsers.php
, чтобы добавить это хеш-значение, однако это не работает, поскольку Session::get('login_hash')
всегда пусто.
Я проверил другие представления и т. Д. И увидел, что Session::get('login_hash')
действительно заполнен правильно, просто RedirectsUsers.php
не может получить доступ к этому значению, поэтому после входа в систему пользователь просто переходит к x.com/x
, а не кx.com/x#abc
Не уверен, правильно ли включать «Использовать сеанс», учитывая, что этот файл RedirectsUsers находится в папке поставщика?
Любая помощь будет принята с благодарностью.Я на Laravel 5.6.
<?php
namespace Illuminate\Foundation\Auth;
use Input, Redirect, URL;
use Session;
trait RedirectsUsers
{
/**
* Get the post register / login redirect path.
*
* @return string
*/
public function redirectPath()
{
if (\Auth::user()->user_type=='admin') {
$suffix = !empty(Session::get('login_hash')) ? '#' . Session::get('login_hash') : '';
return '/admin/home' . $suffix;
}
}
}