Auth::try(['u_email'=>$credentials['email'],'u_password'=>sha1($credenties['password'](](
我使用此代码进行身份验证,但我得到了Undefined index: password
错误。任何一个错误都可以帮助创建自定义身份验证控件,而无需更改供应商库
提前感谢您的帮助…
您需要做3件事。
-
将纯文本密码传递给Auth::attempt((,因为Laravel将在根据数据库中存储的哈希进行验证之前对其本身进行哈希。
Auth::attempt(['u_email'=>$credentials['email'],'password' => $credentials['password']]);
-
将密码作为密码而不是u_password传递给Auth::attempt((。密钥不需要与密码列名匹配(为什么?请参见第3点(,但它必须等于密码-例如,请参见第1点。
-
在用户模型中实现getAuthPassword((方法,该方法将返回u_password列的值。用户提供程序使用此方法来获取密码哈希,该哈希稍后将根据传递给Auth::attempt((的内容进行验证
//in your User.php public function getAuthPassword() { return $this->u_password; }