2016-10-13 9 views
0

Я использую функцию php artisan make:auth в Laravel 5.2.Как перенаправить гостя на страницу входа, после перенаправления после входа в laravel 5.2

Я хочу перенаправить гостя на страницу входа, если гостевая клика свяжет ссылку только для пользователя, не являющегося гостем.

И я хочу перенаправить пользователей на обратную страницу после входа в систему.

Как это сделать? Пожалуйста, покажите несколько примеров с именем файла.

/////// редактировать

Route

// Routes for logged in users 
Route::group(['middleware' => 'auth'], function() { 
//write 
Route::get('board/create', ['as' => 'board.create', 'uses' =>'[email protected]']); 
}); 

Контроллер

public function create() { 

    return view('board.create'); 

} 

Kernel.php

+0

Взгляните на этот ответ здесь: http://stackoverflow.com/a/15393229/4199784 –

+3

Возможный дубликат [Laravel redirect back t o исходное место назначения после входа в систему] (http://stackoverflow.com/questions/15389833/laravel-redirect-back-to-original-destination-after-login) – Danh

ответ

2

Это достигается с помощью Middleware. По умолчанию загружаются App\Http\Middleware\RedirectIfAuthenticated и промежуточное программное обеспечение \Illuminate\Auth\Middleware\Authenticate. (Проверьте файл app/Http/Kernel.php, чтобы проверить, какие промежуточный слой загружены

так и с группами маршрутов:.

// Routes for anyone 
Route::get('guest-or-user', '[email protected]'); 

// Routes for guests only 
Route::group(['middleware' => 'guest'], function() { 
    Route::get('user-not-logged-in', '[email protected]'); 
}); 

// Routes for logged in users 
Route::group(['middleware' => 'auth'], function() { 
    Route::get('user-logged-in', '[email protected]'); 
    // ... other routes 
}); 

Вы также можете сделать это в вашем контроллере:

// SomeController.php 
public function __construct() 
{ 
    $this->middleware('guest', ['only' => 'guestAction']); 
    $this->middleware('auth', ['only' => 'userAction']); 
} 

public function action() 
{ 
    // ... 
} 

public function guestAction() 
{ 
    // ... 
} 


public function userAction() 
{ 
    // ... 
} 

Прочитайте документ: Protecting Routes

+0

извините за проверку в последнее время, я редактирую свой вопрос – jungmyung

+0

Где я могу определить мой BoardController в Kernel.php? – jungmyung

+0

Вам не нужно ничего добавлять в 'Kernel.php', если вы используете встроенное промежуточное программное обеспечение, такое как' auth' и 'guest', которые уже добавлены в ваш' app/Http/Kernel.php' – SimonDepelchin

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