像這樣
$encrypted = Crypt::encrypt('password_name_variable');
基本上,你想做的是:
users
表中具有給定使用者名稱的使用者。 所以,你想要首先查詢具有給定使用者名稱的使用者。然後,在檢索到使用者並驗證其存在之後,你可以檢查提供的密碼是否與檢索到的模型上的雜湊密碼相符。
public function login(Request $request): Response { $user = User::where('username', $request->get('username')); if (!$user || !Hash::check($request->get('password'), $user->password)) { return back()->with([ 'message' => '用戶名和/或密碼不正確。', 'alert-type' => 'error' ]); } $request->session()->put('user', $user); return redirect('dashboard'); }
然而,在Laravel中有內(nèi)建的功能可以實現(xiàn)這一點,根據(jù)你的需求,這樣做可能更簡單:
public function login(Request $request): Response { if (!Auth::attempt(['username' => $request->get('username'), 'password' => $request->get('password')]) { return back()->with([ 'message' => '用戶名和/或密碼不正確。', 'alert-type' => 'error' ]); } return redirect('dashboard'); }
https://laravel.com/api/8.x/Illuminate/Support/Facades/Auth.html#method_attempt