2017-05-12 10 views
-1

laravel adminアクセスユーザーアカウントのコードまたは参照が必要ですが、ユーザーアカウントにログインするときに管理者がログアウトしないようにしてください。laravel adminはユーザーアカウントにアクセスできます

私は管理者とユーザーアカウントのログイン時に管理者が必要です。

私はすでにコード

$user = DB::table('users') 
        ->where('id', $request->userid) 
        ->first(); 

    if (Auth::loginUsingId($user->id)) { 
     return redirect('/'); 
    } 

を以下でしたしましたが、管理者は、ユーザID

+0

同時に、ユーザと管理者でログイン???どのように可能になりますか? 2種類のブラウザでログインできます。 – meen

+0

これを行う方法はありますか?ユーザーアカウント – Developer

+0

にログインすると、管理セッションは永続化されます...なぜ2人のユーザーでログインする必要がありますか? – meen

答えて

0

あなたがそうしたい場合によるユーザアカウントへのログインは、あなたがそれを行うには、いくつかのハックを作ることができたときにログアウトします。 まず、ユーザーにログインすると、adminへの参照がすべて失われます。管理者としてログインするには、その管理者であることを覚えておく必要があります...あなたがそれをやる方法の1つは、セッションに入れることですデータ..

$user = DB::table('users') 
      ->where('id', $request->userid) 
      ->first(); 
$request->session()->put('isAdmin', 1); 
$request->session()->put('adminID', Auth::id()); 
if (Auth::loginUsingId($user->id)) { 
    return redirect('/'); 
} 

さて、今私たちが管理者についてのデータを持っているが、我々はログアウトをするとき、我々は管理者に戻らない...だから私たちはそれをしなければならない、それを行うための最も簡単な方法、ログアウト

ログアウト機能の前に管理者に返すことです:

if($request->session()->pull('isAdmin', 0)){ 
    $id = $request->session()->pull('adminID', 0); 
    if(Auth::loginUsingId($id)) { 
     return redirect('/'); 
    } 
} 
Auth::logout(); 
return redirect('/'); 
関連する問題