Обработка сеанса Laravel для перенаправления без входа в систему - PullRequest
0 голосов
/ 30 мая 2018

Привет, у меня есть форма входа в систему, и когда пользователь входит только в систему, он должен открыть страницу, то есть, если пользователь непосредственно вводит URL, он должен перенаправить обратно на страницу входа.В laravel я прочитал, что есть Auth :: check (), но я использую auth.php для другого входа, и это работает нормально.но я создал новую страницу входа в систему, так как я не могу использовать auth.php, как я могу продолжить, чтобы увидеть, установлена ​​ли сессия или нет, если не перенаправить на страницу входа в laravel;

<?php
class TelecallController extends BaseController {

    public function __construct() {
       $this->beforeFilter(function () {
            if(!Session::has('telecall_id'))
            {
             return Redirect::to('/8032/telecalls/login');
            }
        }, array('except' => array('')));
    }
}

Но я получаю следующееошибка

ERR_TOO_MANY_REDIRECTS

1 Ответ

0 голосов
/ 30 мая 2018

Ошибка, которую вы получаете, довольно проста, посмотрите:

if(!Session::has('telecall_id'))
{
   return Redirect::to('/8032/telecalls/login');
}

Результат этого !Session::has('telecall_id') равен TRUE в начале.Когда вы переходите на return Redirect::to('/8032/telecalls/login');, вы не вносите изменений в значение сеанса telecall_id, поэтому вы будете перенаправлены снова и снова.

После перенаправления вы должны быть уверены, что результат if(!Session::has('telecall_id')) равен FALSE.Так что - вам нужно правильно установить значение сеанса.

Вот вам как правильно подготовить сеанс: https://laravel.com/docs/5.6/session

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...