2017-11-22 12 views
0

ユーザーが一度に1つのアカウントにアクセスできるようにするゲストミドルウェアを使用して単純なログインを作成しましたが、これが正しい方法であるかどうか心配です。Laravelゲストのミドルウェアとユーザー認証

/** Routes **/   
Route::group(['middleware' => 'guest'], function() { 

     Route::get('/', '[email protected]')->name('login'); 
     Route::post('/', '[email protected]')->name('login.post'); 

    }); 



/** login.post controller **/ 
    public function post(Request $request){ 
      $this->rules($request); 

      $rules = array(
       'username' => $request->username, 
       'password' => $request->password, 
      ); 

      if(Auth::attempt($rules)) { 
       if(Auth::user()->is_active == true){ 
       /** IF THE USER IS CURRECTLY LOGIN **/ 
       if(Auth::user()->is_login == true){ 
        Auth::logout(); 
        Session::flash('multilog', 'Your account is log-in to another device!!'); 
        return redirect('/')->withInput(); 
       } 
       $user = user::find(Auth::user()->id); 
       $user->is_login = true; 
       $user->save(); 
       return redirect('admin/home'); 
       } 
       Session::flash('unactivated', 'Your account is not activated!!'); 
       return redirect('/')->withInput(); 
      } 
      Session::flash('unmatch', 'Invalid username or password!!'); 
      return redirect('/')->withInput(); 
     } 

/**/

答えて

0

あなたがわからない場合は、認証を作成するために、Laravelを使用することができます。コマンドラインで書き込み:

php artisan make:auth 

次に、ロジックがファイル内でどのように機能するか見てみましょう。 詳細はこちらをご覧ください: https://laravel.com/docs/5.5/authentication

関連する問題