Я создаю основной сайт CodeIgniter, который требует входа в систему, прежде чем можно будет получить доступ к любому сайту.
Если пользователь посещает некоторый URL сайта, что-то вроде этого:
http://www.mysite.com/project/detail/2049
И они являются текущими, вышел из системы, у меня есть он набор для автоматического отвечания им ударом на удар к странице входа в систему.
Мой вопрос, после того, как они входят в систему, что лучший способ состоит в том, чтобы перенаправить их к исходному URL, который они ввели, вместо говорят, перенаправляя их к домашней странице веб-сайтов?
Я думал, возможно, динамично создайте URL как скрытый элемент формы в форме входа в систему и перенаправьте там после успешного входа в систему... Что делает Вас, парни думают? Существует ли лучшая / лучшая практика для этого типа динамического перенаправления поствхода в систему?
Когда они попадают в ограниченную страницу, записывают URI и установите ее в качестве данных сеанса с помощью
This-> Session-> Set_userdata («Redirect», «Страница / URI / здесь»);
Затем перенаправляйте их в логин / регистрируйте
после того, как они войдут в систему, проверьте, присутствует ли «Redirect»
if($this->session->userdata('redirect'))
{
redirect($this->session->userdata('redirect'));
}
, если он не предпримет их везде, где вы обычно принимаете их после входа в систему
Почему вы не создаете значение сеанса при логине, а затем проверьте его на каждой странице, необходимой для защиты?
Создайте его в библиотеку, поэтому вы можете позвонить следующему:
$this->mylibrary->login($user);
и
$ this-> myLibrary-> iS_logged_in ($ user);
В верхней части каждой страницы и автоматически перенаправляют посетителей на ваш главный сайт.
При попытке доступа перехватывается:
redirect('/public/login/r'.$this->uri->uri_string());
Итак, в вашем случае, после перенаправления URL может выглядеть так:
http://www.example.com/public/login/r/project/detail/2049
Если логин успешен
$uri = $this->uri->uri_string();
$redirect = substr($uri, strpos($uri, '/r/')+2);
redirect($redirect);
, будет перенаправлять на исходный ресурс.
(И нет, +2 не должен быть +3)