2016-10-13 76 views
0

我在Laravel 5.2中使用php工匠make:auth函数。如何将客人重定向到登录页面,在laravel中登录后重定向返回5.2

如果客人点击仅用于用户而非客人的链接,我想将客人重定向到登录页面。

我想在登录后将用户重定向到后台页面。

我该怎么做?请详细说明文件名的一些例子。

///////编辑

路线

// 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重定向回t o原来的目的地后登录](http://stackoverflow.com/questions/15389833/laravel-redirect-back-to-original-destination-after-login) – Danh

回答

2

这是通过使用中间件来实现。默认情况下,加载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

如果你正在使用像'auth'和'guest'这样的内置中间件,那么你就不需要在'Kernel.php'中添加任何东西,这些东西已经添加到你的'app/Http/Kernel.php'中了。 – SimonDepelchin