2017-11-22 1 views
0

방금 ​​한 번에 하나의 계정에 액세스 할 수있는 게스트 미들웨어로 간단한 로그인을 만들었지 만, 이것이 올바른 방법 일지 걱정됩니다.Laravel Guest 미들웨어 및 사용자 인증

/** 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