2016-06-04 2 views
0

У меня есть контроллер с несколькими методами, и мне нужно добавить определенную проверку авторизации. Если авторизация не удалась, перенаправите страницу входа в систему. Поэтому по этой причине я создал одну закрытую функцию и этот вызов функции в конструкторе.Переадресация конструктора Laravel не работает?

class AdminController extends Controller 
{ 
    public function __construct() 
    { 
     $this->middleware('web'); 
     $this->isLogin(); 
    } 

    private function isLogin() 
    { 
     if (!empty(Auth::user())) { 
      echo "Hello"; 
     } else { 
      echo "Fasd"; 
      return Redirect::to('/login'); 
     } 
    } 
} 

Если auth не найден, адрес не перенаправляется для входа. Что я пишу для этого дополнительный код?

+0

Большое спасибо @ Andrew Редактируйте мой код. –

+0

Вы должны использовать тестовое программное обеспечение: [link] (https://laravel.com/docs/master/middleware) [ссылка] (http://stackoverflow.com/questions/32164695/using-laravel-auth-middleware) –

+0

Я не хочу использовать промежуточное ПО. Можете ли вы предложить мне, что я пишу неправильно в своем коде, могут, пожалуйста, помочь мне @RahmanQaiser –

ответ

4

Выполнение переадресации страницы входа в систему переадресации :: маршрут в имя псевдонима имени пользователя routes.php.

public function isLogin() 
{ 
    if (!empty(Auth::user())) { 
     echo "Hello"; 
    } else { 
     echo "Fasd"; 
     return Redirect::route('login'); 
    } 
} 
+0

получение ошибки Маршрут [логин] не определен. @sebahattin –

+0

Метод маршрута здесь используется для перенаправления на [named route] (https://laravel.com/docs/5.2/routing#named-routes). Поэтому обязательно назовите его первым. См. ['Illuminate \ Routing \ Redirector'] (https://laravel.com/api/5.2/Illuminate/Routing/Redirector.html#method_route) – Chay22

+0

Я положил это, но все еще не работал @ Chay22 –

Смежные вопросы