用户认证脚手架
Laravel 自带用户认证功能,我们可用此功能快速构建用户中心。
首先执行认证脚手架命令,生成代码:
$ php artisan make:auth
命令 make:auth
会询问我们是否要覆盖 app.blade.php
,因为我们再已经自定义了「主要布局文件」—— app.blade.php
,所以此处输入 no
使用 git status
可以看到 routes/web.php
被修改,我们查看该文件修改了哪些内容:
routes/web.php
<?php
Route::get('/','PagesController@root')->name('root');
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');
Auth::routes();
是 Laravel 的用户认证路由,这里不需要去修改。
再看下一行
Route::get('/home', 'HomeController@index')->name('home');
我们已经有自己的主页,不需要再次设置主页,直接删除。
同时删除 app/Http/Controllers/HomeController.php
和 resources/views/home.blade.php
两个文件:
$ rm -f app/Http/Controllers/HomeController.php resources/views/home.blade.php
由于我们删除了 /home
这个路由,因此需要把引用了这个路由的地方都修改掉:
修改 app/Http/Controllers/Auth/LoginController.php
、 app/Http/Controllers/Auth/RegisterController.php
和 app/Http/Controllers/Auth/ResetPasswordController.php
,将 $redirectTo
的值从 /home
改成 /
。
修改 app/Http/Middleware/RedirectIfAuthenticated.php
,将 redirect('/home')
修改为 redirect('/')
。
手动在浏览器导航栏里输入 http://shop.test/login ,访问登录页面,即可查看效果。
顶部导航
接下来我们把顶部导航的登录、注册按钮指向真实的地址。
_resources/views/layouts/header.blade.php
<nav class="navbar navbar-default navbar-static-top">