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

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

image 2016-04-14-1

接下來到 **route.php **,就會發現到底下自動添加了兩行。image 2016-04-14-001

再遷移 (migrate) 資料庫

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

image 2016-04-14-002

這樣基本上就完成了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 進行驗證(如下圖)。

image 2016-04-14-003但我想試著在 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: [email protected]

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.