질문을 삭제하지 말아주세요.!
 
1
0
-1

안녕하세요.

라라벨 5.5를 사용하고 있습니다.


로그인 창에서 이메일이랑 패스 입력하고 엔터 누르면

SessionsController에 있는 스토어로 들어가지게 되는데요.


거의 마지막 쯤에 auth user activated 라고 하는 부분에 값이 안들어가는 바람에

계속해서 로그아웃 되어버려서 다시 로그인 페이지로 리다이렉트 되어버리는데요.

var_dump 찍어봐서 auth()->user()값은 잘 나오는데

액티브라는 항목은 아예 존재하질 않아서 null만 뜹니다..ㅠㅠ


$this->validate($request, [
            'email' => 'required|email',
            'password' => 'required|min:6',
        ]);

        // ThrottlesLogins 부분
        $throttles = method_exists($this, 'hasTooManyLoginAttempts');
        $token = is_api_domain()
            ? jwt()->attempt($request->only('email', 'password'))
            : auth()->attempt($request->only('email', 'password'), $request->has('remember'));
        if (!$token) {
            return $this->respondLoginFailed();
        }

       // 이건 정보가 들어가 있습니다. 이메일정보라든가 비밀번호 정보라든가...
        var_dump(auth()->user());
        var_dump(auth()->user()->active); //null
//        var_dump($this->auth->user()->is_active); //null
        var_dump(Auth::user()->user_type); //null
        exit();

        // 여기에서 문제가......... 값이 없기 때문에 여기로 들어가져버리네요...
        if (!auth()->user()->activated) {
            auth()->logout();
            return $this->respondNotConfirmed();
        }


어떻게 하면 값을 인식시킬수가 있을까요?

그리고 auth()→user() 이런 방식도 있지만

Auth::check() 이런 방식도 있던데 결국 같은건가요?...


이것 때문에 3일동안 이것저것 시도하고 검색하고 있는데 답이 안나오네요 ㅠㅠ

답변 기다리겠습니다 ㅠㅠ 구원해주세요~~


아 그리고...

저 부분을 그냥 무시하고 넘어가면 로그인은 되는것 같은데

home.blade.php로 리다이렉트 된 다음에 분명히 로그인정보들 확인했는데

<p>1{{ Auth::user() }}1</p>
<p>2{{ auth()->user() }}2</p>

이렇게 찍어보면 빈 값이 들어갑니다.

도대체 왜그런건가요?ㅠㅠ

    CommentAdd your comment...

    1 answer

    1.  
      1
      0
      -1

      커헉... 자문자답합니다.

      저같이 고민하시는 분들은 이글을 보고 도움이 되셨음 좋겠습니다.

      저는 기존 users 테이블을 사용하지 않고 별도로 모델을 만들어서 테이블을 새로 만들었습니다.

      로그인까지는 잘 취득합니다만 정보를 유지하는것은 힘들었었는데

      원인은 어느 사이트에서 아래글을 보고 해결하였습니다.


      해당 사용자 테이블 id에서이 레코드의 기본 키인 열이 있어야 합니다.

      해당 열의 이름을 변경 했습니까? 예인 경우 Auth가 찾고있는 바로 사용하기 때문에 점을 몇 개 더 연결해야합니다 id.


      저는 유니크아이디 컬럼이름을 no라고 했는데 인증정보는 id 컬럼명을 찾으려고 해서 정보를 못얻게 된것이였습니다.

      컬럼명 변경으로 해결하였습니다.



      그리고 auth()->user->activated는 아직까지 모르겠습니다만

      Auth::check()으로 로그인 정보를 확인하였으므로 이것으로 해결하였습니다.


        CommentAdd your comment...