目录
Laravel 自带了用户认证功能,利用此功能可快速构建用户中心
1,执行认证脚手架命令
php artisan make:auth
2,操作
进入login页面,发现可以注册登录等
3,查看文件修改状态
<1>web.php路由
扫描二维码关注公众号,回复:
8801200 查看本文章
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');
此处是 Laravel 的用户认证路由,可以在 vendor/laravel/framework/src/Illuminate/Routing/Router.php 中搜索关键词 LoginController 即可找到定义的地方,以上等同于
//用户身份验证相关的路由.
Route::get('login', 'Auth\LoginController@showLoginForm')->name('login');
Route::post('login', 'Auth\LoginController@login');
Route::post('logout', 'Auth\LoginController@logout')->name('logout');
// 用户注册相关路由
Route::get('register', 'Auth\RegisterController@showRegistrationForm')->name('register');
Route::post('register', 'Auth\RegisterController@register');
// 密码重置相关路由
Route::get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request');
Route::post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email');
Route::get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset');
Route::post('password/reset', 'Auth\ResetPasswordController@reset')->name('password.update');
// 邮箱验证相关路由
Route::get('email/verify', 'Auth\VerificationController@show')->name('verification.notice');
Route::get('email/verify/{id}', 'Auth\VerificationController@verify')->name('verification.verify');
Route::get('email/resend', 'Auth\VerificationController@resend')->name('verification.resend');
<2>views视图
视图名称 说明
register.blade.php 注册页面视图
login.blade.php 登录页面视图
verify.blade.php 邮箱认证视图
passwords/email.blade.php 提交邮箱发送邮件的视图
passwords/reset.blade.php 重置密码的页面视图
4,脚手架英文改为中文
<1>引入中文语言包
composer require "overtrue/laravel-lang:3.0.8"
<2>修改配置(app\config.php)
将
Illuminate\Translation\TranslationServiceProvider::class,
改为
Overtrue\LaravelLang\TranslationServiceProvider::class,
并且将locale设置为zh-CN
'locale' => 'zh-CN',
5,前端用户身份验证指令
@auth
和 @guest
指令可以用来快速确定当前用户是否已通过身份验证,是否为访客
@auth
// 用户已通过身份验证...
@endauth
@guest
// 用户没有通过身份验证...
@else
//用户已通过身份验证...
@endguest
前端展示:
@guest
<ul class="dy4">
<li><a href="{{ route('login') }}">登录<br/>登录</a></li>
<li><a href="{{ route('register') }}">注册<br/>注册</a></li>
</ul>
@else
<ul class="dy4">
<li><a href="#">欢迎你,zhaoheng<br/>欢迎你,zhaoheng</a></li>
<li><a href="#">我的中心<br/>我的中心</a></li>
</ul>
@endguest