# 5. 簡單的用戶認證
> 2017\.08.09 updated, 增加了動圖,修改文字
上一篇文章 [Ruby 程序員學習 laravel 框架筆記 (4)-在數據庫中創建一條數據](https://www.rails365.net/articles/ruby-cheng-xu-yuan-xue-xi-laravel-kuang-jia-bi-ji-4-zai-shu-ju-ku-zhong-chuang-jian-yi-tiao-shu-ju) 有講過創建一條 user 記錄,其實這個相當于注冊功能,今天要學習的就是跟這個注冊功能有關。
laravel 神奇的一個地方就是默認集成了登錄和注冊的功能,只要一條指令就可以啟動,不僅如此,連 view 都給你寫好了,也就是說界面都可以不用寫,就有登錄和注冊的功能。

## 1. 啟用登錄注冊功能
只要一條指令:
```
php artisan make:auth
```
我們來查一下路由,看到底產生了些啥功能:
```
php artisan route:list
```
輸出如下:
```
+--------+----------+------------------------+------------------+------------------------------------------------------------------------+--------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+----------+------------------------+------------------+------------------------------------------------------------------------+--------------+
| | GET|HEAD | / | | Closure | web |
| | GET|HEAD | api/user | | Closure | api,auth:api |
| | GET|HEAD | home | home | App\Http\Controllers\HomeController@index | web,auth |
| | GET|HEAD | login | login | App\Http\Controllers\Auth\LoginController@showLoginForm | web,guest |
| | POST | login | | App\Http\Controllers\Auth\LoginController@login | web,guest |
| | POST | logout | logout | App\Http\Controllers\Auth\LoginController@logout | web |
| | POST | password/email | password.email | App\Http\Controllers\Auth\ForgotPasswordController@sendResetLinkEmail | web,guest |
| | GET|HEAD | password/reset | password.request | App\Http\Controllers\Auth\ForgotPasswordController@showLinkRequestForm | web,guest |
| | POST | password/reset | | App\Http\Controllers\Auth\ResetPasswordController@reset | web,guest |
| | GET|HEAD | password/reset/{token} | password.reset | App\Http\Controllers\Auth\ResetPasswordController@showResetForm | web,guest |
| | GET|HEAD | register | register | App\Http\Controllers\Auth\RegisterController@showRegistrationForm | web,guest |
| | POST | register | | App\Http\Controllers\Auth\RegisterController@register | web,guest |
| | GET|HEAD | users | | App\Http\Controllers\UsersController@index | web |
| | POST | users | | App\Http\Controllers\UsersController@store | web |
| | GET|HEAD | users/create | | App\Http\Controllers\UsersController@create | web |
+--------+----------+------------------------+------------------+------------------------------------------------------------------------+--------------+
```
## 2. 展示功能
現在我們來驗證一下這些功能。
打開瀏覽器,輸入 `http://127.0.0.1/login`。
頁面是這樣子的:

頁面還不錯。
注冊頁面也有:

注冊完會自動登錄,登錄后的頁面如下:

完結。
下一篇:[Ruby 程序員學習 laravel 框架筆記 (6)-修改 User model](https://www.rails365.net/articles/ruby-cheng-xu-yuan-xue-xi-laravel-kuang-jia-bi-ji-6-xiu-gai-user-model)
- 0. 介紹
- 1. php 開發環境安裝
- 2. 跑 laravel 的 hello world
- 3. 第一個路由 UsersController
- 4. 在數據庫中創建一條數據
- 5. 簡單的用戶認證
- 6. 修改 User model
- 7. User model 的 getter 方法
- 8. view 的更多知識
- 9. 在 view 中共享變量
- 10. blade layout
- 11. 使用 @include 來整理 view
- 12. Blade if/else/unless/or
- 13. factories, faker and seeding
- 14. Blade foreach
- 15. 分頁
- 16. 用中間件來限制用戶必須登錄
- 17. Route group
- 18. CURD 實踐之改變用戶表結構
- 19. CURD 實踐之為新添加的屬性修改注冊功能
- 20. CURD 實踐之用 username 來代替 email 登錄
- 21. CURD 個人中心頁面
- VIM 的 laravel 插件
- VIM 中有效地查看 php 源碼