In Laravel’s Auth system you can customize a few most important things – one of them is a variable $redirectTo – where to take the user after login/registration. But there’s even more to customize.
By default, our app/Http/Controllers/Auth/RegisterController.php has this variable:
class RegisterController extends Controller { protected $redirectTo = '/home'; // ... More functions here }
Which means – after registration, user is redirected to /home. And we can change it here, easily, by just changing this variable.
But what if, in your case, it’s more than a simple variable?
What if you want to redirect user to somewhere, depending on their role or some other case? You can define it as a separate method with the same name.
class RegisterController extends Controller { protected $redirectTo = '/home'; protected function redirectTo() { if (auth()->user()->role_id == 1) { return '/admin'; } return '/home'; } }
Basically, we can add any logic we want inside that method, and it will override the variable $redirectTo.
We can do same thing with LoginController.
You can read more about customizations in Auth – in the official documentation.
Hy Povilas, nice tutorial I’m beginning in Laravel and this article help me to understand a little more about this framework! Brazil say hello.
Hey, I tried it But it is giving a error – Trying to get property ‘usertype’ of non-object..
Here usertype is a column which specifies the type of user..