Yêu cầu thg 10 3, 2021 7:38 SA 141 0 1
  • 141 0 1
0

Đã Login nhưng khi check lại false

Chia sẻ
  • 141 0 1

public function handlerLogin(Request $request){

    $arr = [
        'username' => $request->input('username'),
        'password' => $request->input('password'),
    ];

    if(Auth::attempt($arr)){
        $user = User::where(
            'username',$arr['username']
        )->first();

        Auth::login($user);
        if(Auth::check()){
            return redirect()->route('homeAdmin');
        }
    }

    return redirect()->back();
}

Sau khi chạy function này thì nó đã chuyễn qua được page Hoem ạ nhưng sau khi vào Home Auth::check thì lại false ạ cho em hỏi ngu là nó bị sao vậy ạ nếu được cho em cái sử lý ạ em cảm ơn nhiều ạ

1 CÂU TRẢ LỜI


Đã trả lời thg 10 4, 2021 5:40 SA
Đã được chấp nhận
+1

Có thể bảng User không có trường id thì lúc check login sẽ thành công, nhưng session sẽ ko được lưu lại. nên Auth::check sẽ trả về giá trị false

Chia sẻ
thg 10 4, 2021 7:19 SA

CongHD đúng rồi bạn nhưng cho mình hỏi là nếu mình muốn để username làm primary key chứ ko phải id thì làm sao bạn thank you trước

Avatar CongHD @conghdql4
thg 10 4, 2021 7:25 SA

bạn có thể thử cách set lại primary key cho bảng usersở trong Model User như sau : protected $primaryKey = 'username';

thg 10 4, 2021 8:28 SA

@conghdql4 thank you very much

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí