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.
No comments or questions yet...