Laravel - 5.2 版新增內建 auth 教學

2016年4月14日

[vc_row][vc_column][vc_column_text]剛開始接觸 Laravel 時,看到別人的教學文先以內建的 auth (使用者認證) 開始,但怎麼找就是找不到阿,原來在 Laravel 5.0 版以後都需要自己創建。這篇文章就是要介紹如何實作內建的 auth 。

[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_separator][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]查詢了一些文章後,發現到 Laravel 把這功能藏到 artisan 指令列去了,只要呼叫以下指令即可呼叫出相關組件。

<code class="EnlighterJSRAW" data-enlighter-language="null">artisan make:auth

接下來就會看到它自動生成的項目。

接下來到 **route.php **,就會發現到底下自動添加了兩行。

再遷移 (migrate) 資料庫

接下來只要到 http://你的網址/home 就會看到你想要的

這樣基本上就完成了auth的實作

[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_text_separator title=”進階”][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]但總有某些東西感覺不太直覺,現在的模式是先經由 route 啟用 auth 並且再呼叫 /home 後,再經由 home Controller 的建構式去呼叫中介層 (middleware) 來進行呼叫 auth 進行驗證(如下圖)。

但我想試著在 route 就先切換至中介層進行處理,這就是接下來的目標。[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]所以我們的手先目標就是先為 route 指派 middleware (詳見:5.1 中文連結)

Route::auth(); Route::group(['middleware' => 'auth'], function () { Route::get('/home', 'HomeController@index'); });

[/vc_column_text][vc_message message_box_color=”pink” icon_fontawesome=”fa fa-exclamation-triangle”]警告 Route::auth(); 務必要放在前面才會載入相關功能。

否則只會出現一個 **NotFoundHttpException **錯誤[/vc_message][/vc_column][/vc_row]

鳥祐

前端愛好者 email: a9650615@gmail.com

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.