有多個用戶,擁有完全不同的後登錄面板。一個教師和其他學生。我讓中間件分開他們的觀點。中間件檢查名爲實體的屬性(數據庫中的列)是「學生」還是「公司」,並相應地限制或允許視圖。是的,訪客不允許登錄後面板。Laravel 5 - 註冊後重定向到URL
我使用同一個表來保存登錄。 (實體欄目是否區分其教師或學生)。現在我想將用戶重定向到不同的視圖。如果我改變$redirectTo = "/studentPanel"
。中間件行爲和教師登錄無法訪問此。但是,如果我硬編碼$redirectTo = "/teacherPanel"
,那麼學生登錄面板不可訪問。
如何動態設置$redirectTo
。我想到設置auth控制器的構造方法。
嘗試這樣做:
public function __construct(Request $request) {
$this->middleware('guest', ['except' => 'getLogout']);
if(Auth::user() && $request->user()->isStudent())
$this->redirectTo = "/studentPanel";
elseif(Auth::user() && $request->user()->isTeacher())
$this->redirectTo = "/teacherPanel";
else
$this->redirectTo = "/auth/login";
}
這裏isStudent()
和isCompany是在應用\用戶功能,其與真或假檢查在數據庫實體列值作出響應。
我想這樣,我得到錯誤"Call to a member function isStudent() on a non-object"
'$請求 - >用戶()'是無效的錯誤說 - 看看在[路由文檔(https://開頭laravel。 COM /文檔/ 5.2 /路由#路線模型結合)。 – ash
感謝讓我檢查@ash,並且有一件事是我的想法是正確的動態路由?它會工作嗎? –
這是不正確的,我有一個想法,我會張貼一個答案看看它,讓我知道, –