【发布时间】:2017-07-03 01:35:57
【问题描述】:
我正在开发一个中间件,以处理访客重定向到保护区的问题。我有 2 个登录页面,一个用于前端,另一个用于后端,并希望客人根据他们进入的位置重定向到每个登录页面。我的意思是:
- 如果访客进入
/admin/dashboard之类的路线,则必须将其重定向到/admin/login。 - 如果客人进入路线
/messages,他们必须被重定向到/login。
这是我的 routes.php
Route::get('/', function () {
return view('inicio');
});
Route::group(['as'=>'clientRoutes', 'middleware'=>'loginSelector'], function(){
Route::get('/polizas', function () {
return view('cliente.polizas');
});
});
Route::group(['as'=>'adminRoutes','prefix'=>'admin', 'middleware'=>'loginSelector'], function(){
Route::get('/inicio', function () {
return view('admin.inicio');
});
Route::get('/lista', function () {
return view('admin.lista');
});
});
Route::get('/admin/login', function () {
return view('admin.login');
});
在中间件中,我试图获取路由的组名,但找不到获取 i 的方法,如下所示:
namespace App\Http\Middleware;
use Closure;
class CustomAuthRedirectMiddleware
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$grupoRoute = $request->route()->getGroup();
if($grupoRoute == "adminRoutes"){
return redirect('/admin/login');
}else{
return redirect('/login');
}
return $next($request);
}
}
如果可能的话,我如何使用组名进行重定向?或者如果不可能,如何实现这种重定向?
【问题讨论】:
-
@Samsquanch 非常感谢。将其发布为答案,以便标记为正确并请为您投票。这就是我要找的...
-
您可以继续发布您如何解决它作为答案,因为我只能猜测。我认为这将是一个更好的解决方案。只需在您的帖子中引用该链接即可。
-
完美,谢谢!
标签: php laravel-5.2