Laravel 5.4 Nonaktifkan Rute Pendaftaran

Saya mencoba menonaktifkan rute register pada aplikasi saya yang berjalan di Laravel 5.4.

Dalam berkas rute saya, saya hanya memiliki

Auth::routes();

Apakah ada cara untuk menonaktifkan rute register?

Larutan

kode:

Auth::routes();

adalah shorcut untuk koleksi rute ini:

// Rute Autentikasi...
Route::get('login', 'Auth\LoginController@showLoginForm')->name('login');
Route::post('login', 'Auth\LoginController@login');
Route::post('logout', 'Auth\LoginController@logout')->name('logout');

// Rute Pendaftaran...
Route::get('register', 'Auth\RegisterController@showRegistrationForm')->name('register');
Route::post('register', 'Auth\RegisterController@register');

// Rute Reset Kata Sandi...
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');

Jadi, Anda dapat mengganti yang pertama dengan daftar rute dan mengomentari rute apa pun yang tidak Anda inginkan dalam aplikasi Anda.

Edit untuk versi laravel => 5.7

Pada versi yang lebih baru, Anda dapat menambahkan parameter ke panggilan fungsi Auth::routes() untuk menonaktifkan rute register:

Auth::routes(['register' => false]);

Rute verifikasi email telah ditambahkan:

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');

BTW Anda juga dapat menonaktifkan rute Password Reset dan Email Verification:

Auth::routes(['reset' => false, 'verify' => false]);
Komentar (6)

Anda bisa mencoba ini.

Route::match(['get', 'post'], 'register', function(){
    return redirect('/');
});

Tambahkan rute-rute tersebut tepat di bawah Auth::routes() untuk menimpa rute registrasi default. Setiap permintaan ke rute /register akan mengarahkan ke baseUrl.

Komentar (3)

Ya, ada cara

Auth::routes();

Remote rute itu dari web.php di direktori routes Anda.

Rute itulah yang mengontrol pendaftaran.

Komentar (3)