0
我正在開發一箇中間件以處理訪客重定向到保護區域。我有2個登錄頁面,一個用於前端,另一個用於後端,並希望客人根據他們輸入的位置重定向到每個登錄頁面。我的意思是:Laravel 5.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');
});
在中間件,我試圖讓路由的組名,但不能找到讓我的樣子,像這樣:
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);
}
}
如果可以的話,我怎樣才能把組名稱做重定向?或者如果這是不可能的,如何才能實現這種重定向?
您可能會試試這個:http://stackoverflow.com/questions/36838177/how-to-define-route-group-name-in-laravel – Samsquanch
@Samsquanch非常感謝。發佈它作爲答案,以便標記爲正確,並請您滿意。多數民衆贊成在我正在尋找... –
你可以繼續前進,張貼完全如何解決它作爲答案,因爲我只能猜測。我認爲這將是一個更好的解決方案。只需在您的帖子中引用該鏈接即可。 – Samsquanch