2017-10-26 3 views
-1

사용자가 로그인 할 수 있는지 확인하려고합니다. 올바른 암호로 이메일에 추가하여 사용자가 활성화되어 있는지 확인하고 싶습니다.Laravel 5.5의 Laravel 로그인 시스템 변경

데이터베이스에 "n"및 "y"값이있는 활성 열이 있습니다. 활성 == "n"이면 로그인이 실패합니다.

이제 이것을 로그인 컨트롤러에 추가하려고합니다.하지만이 if/else 조건을 넣으려고하는 곳은 무시됩니다.

Laravel Doc.

추가 조건을 지정 :

원하는 경우

, 당신은 또한 사용자의 전자 메일과 비밀번호 외에 인증 쿼리에 추가 조건을 추가 할 수 있습니다 나는이 발견했다. 예를 들어, 우리는 그 사용자가 "활성"으로 표시되어 있는지 확인 할 수 있습니다

if (Auth::attempt(['email' => $email, 'password' => $password, 'active' => 1 (in my case "y"])) { 
    // The user is active, not suspended, and exists. 
} 

그러나 이것은 나를 위해 workd하지 않은 .. 그게 왜 나는했습니다 (나는이 코드를 삽입해야 할 위치를 물어보고 싶은 authenticatesUsers.php @login 함수에서 시도한) 특정 방식으로 코드를 수정해야합니까? Laravel 5.5는 로그인 시스템을 약간 다르게 처리합니다. 5.4 (적어도 생각하는 것)

어떤 도움을 주셔서 감사합니다! 이 작업을 수행하는

답변

0

당신의 가장 좋은 방법은 컨트롤러의 상단에 use Illuminate\Support\Facades\Auth;use Illuminate\Http\Request;를 추가하는 것을 잊지 마십시오 당신의 LoginController

public function login(Request $request) 
{ 
    if (Auth::attempt(['email' => $request->email, 'password' => $request->password, 'active' => 'y'])) { 
     return redirect()->intended('dashboard'); 
    } else{ 
     return redirect('/'); 
    } 
} 

에 방법 login를 추가하는 것입니다.

01으로 테스트 및 ny로하고

를 예상대로 일했다