Redirect after Login or Register: Add your own Method

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...

Like our articles?

Become a Premium Member for $129/year or $29/month

Written by

Recent Premium Tutorials