Asked Oct 3rd, 2021 7:38 a.m. 137 0 1
  • 137 0 1
0

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

Share
  • 137 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 ANSWERS


Answered Oct 4th, 2021 5:40 a.m.
Accepted
+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

Share
Oct 4th, 2021 7:19 a.m.

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

0
| Reply
Share
Avatar CongHD @conghdql4
Oct 4th, 2021 7:25 a.m.

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

0
| Reply
Share
Oct 4th, 2021 8:28 a.m.

@conghdql4 thank you very much

0
| Reply
Share
Viblo
Let's register a Viblo Account to get more interesting posts.