2016-10-17 3 views
1

Я только что установил laravel 5.2, и я создал auth register, login и reset password, но теперь я хочу создать индекс моего проекта, к которому может обратиться любой пользователь (также не зарегистрированный). я попытался создатьLaravel 5.2 - middleware auth

Маршрут :: get ('/', HomeController @ home ');

Но это представление разрешено только для зарегистрированных пользователей.

МОИ МАРШРУТЫ

Route::auth(); 
Route::get('/home', '[email protected]'); 
// POST - FORM CREA 
Route::get('/crea-regalo', '[email protected]'); 
Route::post('/crea-regalo', '[email protected]'); 
// LISTA ANNUNCI PRINCIPALE 
Route::get('/', '[email protected]'); 

MY HOME CONTROLLER

class HomeController extends Controller 
{ 
    /** 
    * Create a new controller instance. 
    * 
    * @return void 
    */ 
    public function __construct() 
    { 
     $this->middleware('auth'); 
    } 

    /** 
    * Show the application dashboard. 
    * 
    * @return \Illuminate\Http\Response 
    */ 
    public function index() 
    { 
     $posts = Post::orderBy('id','DESC'); 
     return view('home', compact('posts')); 
    } 

    public function home() 
    { 
     $posts = Post::all(); 
     return view('index', compact('posts')); 
    } 
} 

Как я могу создавать маршруты зрения, где можно получить доступ ко всем пользователям?

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

ответ

1

Привет написать отдельный контроллер для доступа к странице, чтобы все потому, что вы написали аутентификации промежуточного программного застройщик

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

Похожие как

class GuestController extends Controller 
{ 

    public function __construct() 
    { 

    } 


    public function home() 
    { 
     $posts = Post::all(); 
     return view('index', compact('posts')); 
    } 
} 

В пути

Route::get('/home', '[email protected]'); 

или же вы можете сделать это

$this->middleware('auth', ['except' => ['home']]); 

это будет в состоянии получить доступ к домашней странице для всех .В конструктора добавить этот

public function __construct() 
{ 
    $this->middleware('auth', ['except' => ['home']]); 
} 
+0

yup! Спасибо! я создам еще один контроллер, это лучший выбор! –

2

Помещенные тот маршрут, который вы хотите разрешить только проверку подлинности пользователя в промежуточной AUTH следующим образом:

Route::group(['middleware' => ['auth']], function() { 
    //your routes  
}) 

И для тех маршрутов, которые все пользователи могут получить, выложите эту сторону выше указанной группы.

+0

Благодарим вас и за вас! –

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

  • Нет связанных вопросов^_^