Dev*_*Wol 38 php laravel laravel-5.4
我试图在Laravel 5.4中运行的应用程序上禁用注册路由.
在我的路线文件中,我只有
Auth::routes();
Run Code Online (Sandbox Code Playgroud)
有没有办法禁用寄存器路由?
dpa*_*oli 71
代码:
Auth::routes();
Run Code Online (Sandbox Code Playgroud)
这是一系列路线的缩影:
// Authentication Routes...
Route::get('login', 'Auth\LoginController@showLoginForm')->name('login');
Route::post('login', 'Auth\LoginController@login');
Route::post('logout', 'Auth\LoginController@logout')->name('logout');
// Registration Routes...
Route::get('register', 'Auth\RegisterController@showRegistrationForm')->name('register');
Route::post('register', 'Auth\RegisterController@register');
// Password Reset Routes...
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');
Run Code Online (Sandbox Code Playgroud)
因此,您可以将第一个替换为路由列表,并注释掉您在应用程序中不需要的任何路由.
小智 32
从Laravel 5.0开始,您可以通过选项传递和数组
Auth::routes(['register' => false]);
Run Code Online (Sandbox Code Playgroud)
您可以查看代码Illuminate\Routing\Router @ auth
小智 21
你可以试试这个.
Route::match(['get', 'post'], 'register', function(){
return redirect('/');
});
Run Code Online (Sandbox Code Playgroud)
在其下方添加这些路由Auth::routes()以覆盖默认注册路由.对/register路由的任何请求都将重定向到baseUrl.
小智 7
这看起来容易!您只需要在app/Http/Controllers/Auth/RegisterController.php类中重写两个方法.请参阅下面的内容,以防止显示表单,最重要的是阻止直接POST请求到您的应用程序进行注册.
/**
* Show the application registration form.
*
* @return \Illuminate\Http\Response
*/
public function showRegistrationForm()
{
return redirect('login');
}
/**
* Handle a registration request for the application.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function register(Request $request)
{
abort(404);
}
Run Code Online (Sandbox Code Playgroud)
小智 5
在web.php中,替换
Auth::routes();
用
Auth::routes(['register' => false]);
这样您就可以从默认身份验证路由列表中删除注册路由。我尝试在5.7,它工作正常。
| 归档时间: |
|
| 查看次数: |
34659 次 |
| 最近记录: |