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' 을 대체 합니다.
}
}
라라벨 미들웨어 (Laravel Middleware) 사용법 with Laravel 11.x (1) | 2024.05.16 |
---|---|
라라벨 라이프사이클과 MVC 패턴 (Life Cycle, MVC Pattern) (0) | 2024.04.11 |
라라벨 초기 세팅시 Key 생성 (0) | 2024.04.08 |
라라벨 초기 세팅 시 권한 문제 (Laravel Logs Permission Denied) (0) | 2024.04.05 |