我正在使用 Laravel 构建一个网站,用户可以将其指定为管理员。管理员应仅浏览位于子域 admin.domain.com 下的信息中心,其他用户只能浏览主域 domain.com 。
我的问题是如何限制管理员查看普通用户可以访问的部分,反之亦然。我希望管理员仅在所有子域路由中导航(例如 admin.domain.com/statistics ),而不是 domain.com/categories 。这些是管理员和公共部分的路线。
Route::group(['domain' => 'admin.domain.com'], function () {
/* Admin routes */
});
Route::group(['domain' => 'domain.com'], function () {
/* Public routes */
}
我希望当我以管理员身份登录时自动重定向到子域名,如果我键入公共路由,我希望将其重定向回根管理员路由。
我想的解决方案之一就是用一个中间件包装管理员和公共路由,根据其类型重定向用户,无论是管理员还是普通用户,但我不确定这是否是一个合适的解决方案。
由于
答案 0 :(得分:1)
你可以使用2个中间件
1-将非管理员重定向到公共区域将被放置在第一组
中2-重定向管理员到管理员子域名将被放置在第二组
中