我有Laravel 5.3與三種不同類型的用戶。我希望他們能夠在登錄後重定向到不同的儀表盤頁面,例如:Laravel 5.3登錄重定向到多個用戶的不同頁面
用戶 - >登錄 - >用戶儀表盤
管理 - >登錄 - >管理儀表板
我創建了一個名爲CheckRole
中間件:
public function handle($request, Closure $next)
{
if($request->user() === null) {
return response("Insufficient Permissions" , 401);
}
$actions = $request->route()->getAction();
$roles = isset($actions['roles']) ? $actions['roles'] : null;
if($request->user()->hasAnyRole($roles) || !$roles) {
return $next($request);
}
return response("Insufficient Permissions" , 401);
}
路線
Route::group(['middleware' => ['auth','roles'], 'roles' => 'Admin'], function() {
// Routes here
}
角色工作正常。
現在redirectTo= '';
在LoginContoller
點只有一個視圖。我已經檢查過這些文件,我認爲這與警衛沒有解釋如何設置它有關。
我也看到multiauth,但我不認爲這是明智的,爲不同的用戶,因此尋找一個替代的答案不同的表。
任何建議,將不勝感激。
我的表是這樣的:
Table users
id | name | email
---------
1 | John | [email protected]
2 | Michael | [email protected]
Table roles
id | name
---------
1 | Admin
2 | PrivilegedMember
3 | Subscriber
Table user_role
id | user_id | role_id
----------------------
1 | 1 | 1
2 | 2 | 2
這可能是以下問題的重複,但答案提供葉子沒有解釋多重定向。
Multiple Authentication in Laravel 5.3