0
votes

I am building a website with Laravel where a user can be assigned as an admin. The admins should only navigate through the dashboard which will be under a subdomain admin.domain.com and the other users can only navigate through the main domain domain.com.

My question is how can i restrict the admin to view the section where normal users can and vice versa. I want admins to navigate only through all subdomain routes only (for example admin.domain.com/statistics) and not domain.com/categories. These are my routes for the admin and public part.

Route::group(['domain' => 'admin.domain.com'], function () {
    /* Admin routes */
});

Route::group(['domain' => 'domain.com'], function () {
    /* Public routes */
}

I want when i login as an admin to be automatically redirected to the subdomain and if i type a public route i want to be redirected back to the root admin route.

One of the solutions i was thinking was to wrap the admin and public routes with a middleware that will redirect the user depending on its type whether its admin or normal user but im not sure if this is a proper solution.

Thanks

1
Google is your best friend. Look what a simple search can get you stackoverflow.com/questions/37359981/… You can expand on thatIndra

1 Answers

1
votes

You Could Use 2 Middlewares

1- redirect non-admins to public area will be placed in the first group

2- redirect admins to admins subdomain will be placed in the second group