2016-03-24 2 views
1

Я только что начал приложение laravel 5.2. Каждый маршрут, который я принимаю (/ register/logout, login, ...), перенаправляет меня на домашнюю страницу.Laravel 5.2 - Каждый маршрут перенаправляется на домашнюю страницу

Вот мои маршруты

<?php 
Route::group(['middleware' => ['web']], function() { 
//Register 
    Route::get('/register', 'Auth\[email protected]'); 
    Route::get('/register/success', 'Auth\[email protected]'); 

    Route::post('/register', 'Auth\[email protected]'); 

//Login 
    Route::get('/login', 'Auth\[email protected]'); 

    Route::post('/login', 'Auth\[email protected]'); 

//Password Reset 
    Route::get('/password/reset/email', 'Auth\[email protected]'); 
    Route::get('/password/reset/{token}', 'Auth\[email protected]'); 
    Route::get('/password/reset/sent', 'Auth\[email protected]'); 

    Route::post('/password/reset/email', 'Auth\[email protected]'); 
    Route::post('/password/reset', 'Auth\[email protected]'); 
}); 


Route::group(['middleware' => ['web', 'auth']], function() { 
    Route::get('/logout', 'Auth\[email protected]'); 
}); 

Route::get('/', function() { 
    return view('welcome'); 
}); 

, когда я удалить Route::group(['middleware' => ['web']], function() { линию я могу получить доступ к странице, но это дает мне ошибку

Undefined переменной: ошибки

Вот почему требуется веб-среда, поэтому я немного застрял.

Контроллер и виды работ. Это просто перенаправление, которое я не могу понять.

Благодарим за помощь!

+0

Вашего маршрут, который возвращение 'welcome' страницы должна быть перед другими маршрутами – Veniamin

ответ

2

Вам необходимо внести изменения в свой AuthController и указать, куда вы хотите перенаправить.

Затем вам нужно добавить это в каждом контроллере у вас есть:

public function __construct() { $this->middleware('auth'); } 
+0

Пробовал, но без какого-либо результата. – Nicolas

+0

это сработало! Может кратко объяснить, что именно он делает? Благодаря! – Nicolas

+0

Как и любая функция построения, всякий раз, когда вы используете контроллер, эта функция будет автоматически вызвана. Это означает, что вы вошли в систему и можете использовать этот метод с этого маршрута. Im sry для моего плохого eng, я надеюсь, что вы понимаете –

0

Вы должны сделать шаблон лезвия как auth.blade.php в ресурсах/просмотров. Тогда вам нужно сделать вид из контроллера с возвращением, как:

public function getLogin(){ 
     return view(
      "auth", 
      [ 
       'username' => username, 
       'password' => password 
      ] 
     ); 
} 
Смежные вопросы