1

我正在使用Laravel的默認身份驗證進行多重身份驗證。我有兩種類型的用戶管理員和普通用戶。對於管理員,我使用了管理員警衛,如果我以不同瀏覽器的兩種類型的用戶身份登錄,則工作正常,但問題是當我在管理員和用戶登錄時在同一瀏覽器中以管理員和用戶的身份登錄時將我重定向到管理員登錄頁面。如果我從管理面板註銷,然後再登錄管理員登錄頁面,我想要重定向。否則,如果我從用戶面板註銷,它應該將我重定向到「/」路線。這是我在驗證用戶文件中註銷方法的代碼。註銷Laravel 5中的多個身份驗證

public function logout(Request $request) 
    { 
     if(Auth::guard('admin')->check()) $redirect = '/admin/login'; 
     else $redirect = '/'; 

     $this->guard()->logout(); 

     $request->session()->flush(); 

     $request->session()->regenerate(); 

     return redirect($redirect); 
    } 

這裏是雙方管理員和用戶的註銷表單。

<a href="{{ url('/logout') }}" onclick="event.preventDefault(); 
    document.getElementById('logout-form').submit();">Logout</a> 

現在該怎麼解決?

回答

0

嗯,據我所知,當你註銷一個管理員&用戶時,你仍然希望被髮送回/路由。如果當前用戶是管理員,並且默認將用戶送回家,我建議僅刪除檢查。

+0

其實不是這樣。如果我從管理員註銷,它應該重定向到管理員登錄頁面,否則,如果我從用戶面板註銷,它應該將我重定向到「/」路線。 –

+0

當你在dd(Auth :: guard('admin') - > check())時,如果你把它放在你的if語句上面,你會得到什麼。 –