在Laravel 5.2中,身份验证变得简单,其认证方式之一就是通过一种方法添加身份验证所需的所有路由,此方法为Route::auth()
。
哪个好,但是只有暴露登录和注销操作所需的最佳方式才是最好的方式,而不是注册操作,因为我想拥有一个主登录,这可以让其他帐户管理网站。但我不想要普通意义上的“用户”。
答案 0 :(得分:2)
当然,您可以在没有注册路线的情况下添加到routes.php。
// Authentication Routes...
//Login Routes...
Route::get('login','AdminAuth\AuthController@showLoginForm');
Route::post('login','AdminAuth\AuthController@login');
Route::get('logout','AdminAuth\AuthController@logout');
// Registration Routes...
Route::get('register', 'Auth\AuthController@showRegistrationForm');
// Password Reset Routes...
Route::get('password/reset/{token?}','Auth\PasswordController@showResetForm');
答案 1 :(得分:0)
如果您在Route::auth()
中运行routes.php
方法并运行php artisan route:list
命令,则可以查看它定义的路线。
在这种情况下,他们是:
+--------+----------+-------------------------+------+---------------------- -------------------------------------------+------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+----------+-------------------------+------+-----------------------------------------------------------------+------------+
| | GET|HEAD | / | | Closure | web |
| | GET|HEAD | home | | App\Http\Controllers\HomeController@index | web,auth |
| | GET|HEAD | login | | App\Http\Controllers\Auth\AuthController@showLoginForm | web,guest |
| | POST | login | | App\Http\Controllers\Auth\AuthController@login | web,guest |
| | GET|HEAD | logout | | App\Http\Controllers\Auth\AuthController@logout | web |
| | POST | password/email | | App\Http\Controllers\Auth\PasswordController@sendResetLinkEmail | web,guest |
| | POST | password/reset | | App\Http\Controllers\Auth\PasswordController@reset | web,guest |
| | GET|HEAD | password/reset/{token?} | | App\Http\Controllers\Auth\PasswordController@showResetForm | web,guest |
| | GET|HEAD | register | | App\Http\Controllers\Auth\AuthController@showRegistrationForm | web,guest |
| | POST | register | | App\Http\Controllers\Auth\AuthController@register | web,guest |
+--------+----------+-------------------------+------+-----------------------------------------------------------------+------------+
您可以清楚地看到URI列中需要哪些内容; login
(获取),login
(发布)和logout
(获取)。
从Route::auth()
移除routes.php
方法并添加以下内容:
Route::get('login', 'Auth\AuthController@showLoginForm');
Route::post('login', 'Auth\AuthController@login');
Route::get('logout', 'Auth\AuthController@logout');
如果您确实希望已注册的管理员能够手动更改其密码,您还可以包含以下内容:
Route::post('password/email', 'Auth\PasswordController@sendResetLinkEmail');
Route::post('password/reset', 'Auth\PasswordController@reset');
Route::get('password/reset/{token?}', 'Auth\PasswordController@showResetForm');
别忘了给你的工具:)
答案 2 :(得分:0)
方法1。
在web.php
文件中添加路由。
例如,当您的应用仅需要登录和注销路径
Route::get('login', 'Auth\AuthController@showLoginForm');
Route::post('login', 'Auth\AuthController@login');
Route::get('logout', 'Auth\AuthController@logout');
方法2-有更好的方法。
只需使用Auth::routes()
方法并添加其他参数即可。
相同的示例-应用仅需要登录和注销路径
Auth::routes(['register' => false, 'reset' => false])