
Laravel comes with built in authentication to enable it first create the users table by running the default migrations:
php artisan migrate
Next create the authentication:
php artisan make:auth
Once run auth views and controllers will be created and the default layout file will have a login and register link.
You may not want the register part, removing the link from the template is not enough the routes and view/controller still exist. The can be deleted but a better way is to just disable the loading of the register view.
To do this open app/http/Controllers/Auth/RegisterController.php, this classes uses a RegistersUsers trait which contains a protected method to load the view. That’s in the core but you should never touch the core so instead overwrite that method by creating a method with the same name in RegisterController.php and instead of loading a view redirect to the home page or anywhere you like:
public function showRegistrationForm()
{
return redirect('/');
}
While you’re at it disable the create method too:
protected function create(array $data)
{
return redirect('/');
/*return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
]);*/
}
This will stop the view from loading and stop the create from running. But if you change your mind later you can revert these back easily.
Do you know of a better way? let me know in the comments below.
Subscribe to my newsletter for the latest updates on my books and digital products.
Find posts, tutorials, and resources quickly.
Subscribe to my newsletter for the latest updates on my books and digital products.