[英]Protect routes in Laravel 5.1
我在項目中使用Laravel 5.1。 我正在嘗試保護路由,並確保只有登錄的用戶才能訪問某些路由。 我知道中間件,但是我想知道是否有人發布了有關中間件以及如何使用中間件保護頁面的示例或鏈接。
謝謝
您對使用中間件是正確的。 只要您還使用附帶的Auth
控制器來驗證用戶身份,就應該使用附帶的Auth
中間件。 您將這樣編寫路線:
Route::get('/page', array(
'uses' => 'Controller@method',
'middleware'=>'auth'
));
(以上示例使用的是GET
請求,但也可以使用其他請求類型,例如POST
)。
這將使用中間件的默認行為,該行為檢查用戶是否已登錄(已驗證)。 您還可以擴展或覆蓋內置函數,以使您可以直接將應用程序定向到將用戶發送到何處(無論用戶是否登錄),等等。Laravel的官方文檔是一個很好的起點: 鏈接
要以Joe Rose給出的答案為基礎,還可以在控制器中而不是routes.php
文件中指定中間件。
例如,您可以將路線設置為
Route::get('/example', 'ExampleController@index');
Route::post('/example/post', 'ExampleController@post');
Route::resource('blog', 'BlogController');
然后在您的控制器內部引用它,如下所示:
class ExampleController extends Controller
{
public function __construct()
{
$this->middleware('auth');
}
//....
如果您正在尋找更多信息,請查看Joe提供的文檔的鏈接,以及此博客文章 ,其中解釋了哪種中間件確實很好,以及在需要時如何創建自己的中間件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.