laravel–用户认证脚手架
Laravel 自带了用户认证功能,我们将利用此功能来快速构建我们的用户中心。
首先执行认证脚手架命令,生成代码:
php artisan ui:auth
安装完成后,打开 routes/web.php 查看修改了哪些内容:
可以看到在我们的主页下,多了两个表达式,先看第一个:
Auth::routes();
此处是 Laravel 的用户认证路由,在 vendor/laravel/ui/src/AuthRouteMethods.php 中即可找到定义的地方,以上等同于:
// 用户身份验证相关的路由
Route::get('login', 'AuthLoginController@showLoginForm')->name('login');
Route::post('login', 'AuthLoginController@login');
Route::post('logout', 'AuthLoginController@logout')->name('logout');
// 用户注册相关路由
Route::get('register', 'AuthRegisterController@showRegistrationForm')->name('register');
Route::post('register', 'AuthRegisterController@register');
// 密码重置相关路由
Route::get('password/reset', 'AuthForgotPasswordController@showLinkRequestForm')->name('password.request');
Route::post('password/email', 'AuthForgotPasswordController@sendResetLinkEmail')->name('password.email');
Route::get('password/reset/{token}', 'AuthResetPasswordController@showResetForm')->name('password.reset');
Route::post('password/reset', 'AuthResetPasswordController@reset')->name('password.update');
// Email 认证相关路由
Route::get('email/verify', 'AuthVerificationController@show')->name('verification.notice');
Route::get('email/verify/{id}/{hash}', 'AuthVerificationController@verify')->name('verification.verify');
Route::post('email/resend', 'AuthVerificationController@resend')->name('verification.resend');
为了更加直观,我们将在 web.php 中使用以上替换 Auth::routes();
生成的视图
本地化
可以看到登录表单是英文版本的,打开模板文件,此模板文件是我们刚刚使用 ui:auth 命令生成的:
resources/views/auth/login.blade.php
中文语言包
会有很多人会遇到翻译 Laravel 自带模板的问题,所以我们无需自己一个个去翻译,这种通用的问题找找扩展包来处理即可。
我们将使用 Laravel Lang 项目来实现,此项目支持了 52 个国家的语言,使用以下命令安装:
composer require "overtrue/laravel-lang:~4.0"
完成上面的操作后,将项目文件 config/app.php 中的下一行
IlluminateTranslationTranslationServiceProvider::class,
替换为:
OvertrueLaravelLangTranslationServiceProvider::class,
完成后刷新页面,完美翻译:
Laravel Lang 同自定义语言包一样,都是根据 config/app.php 里 locale 的选项来选择语言的。
值得一提的是,如果你想修改扩展包提供的语言文件,可以使用以下命令发布语言文件到项目里:
php artisan lang:publish zh_CN
发布后的语言文件存放于 resources/lang/zh_CN 文件夹。
首先,我使用的是用户角色权限控制包 Laravel-permissio, 关于怎么样设置权限,请看地址 在权限设置好后,需要去验证某个用户有没有权限访问某个路由, 就要去设置一个中间件, 生成中间件 php artisan make:middleware Ch…
版权声明:
作者:linrux
链接:https://www.tot7.cn/technology/php/113.html
来源:Code林
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论