상세 컨텐츠

본문 제목

[Laravel] 라라벨 Auth 로그인 유지가 안되는 문제 해결 방법

Framework/Laravel

by code_down 2024. 10. 31. 15:02

본문

Auth::login($user) 를 이용하여 사용자를 로그인 시키는데 작업 중인 함수 외부에서 로그인이 유지되지않는 문제가 발생되었습니다.

 

원인을 확인해보니 $user 정보를 조회하는 테이블의 email, password 컬럼명이 대문자로 되어있어서 인 점을 확인하였습니다.(email, password 만 소문자이면, 다른 컬럼이 대문자여도 정상작동하였습니다.)

 

현재 테이블 컬럼 롤이 대문자를 기준으로 하고 있기에 아래 코드 내용을 Auth 에 사용되는 Model 파일에 추가하여 문제를 해결 할 수 있었습니다.

 

<?php

namespace App\Models;

use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
    protected $table = 'USERS'; //테이블명이 대문자 일 경우 예시 입니다.

    public function getAuthIdentifierName()
    {
        return 'EMAIL'; //기본값인 'email' 을 대체 그외 컬럼명으로 변경 가능합니다.
    }

    public function getAuthPassword()
    {
        return $this->attributes['PASSWORD']; //기본값인 'password' 을 대체 합니다.
    }
}