验证::尝试([' u_email' => $凭证['电子邮件&#39],' u_password' => SHA1($凭证[& #39;密码'])])
我使用此代码进行身份验证,但我可以获得Undefined index: password
错误,无需更改供应商库即可创建自定义身份验证控件
先谢谢你帮我...
答案 0 :(得分:2)
您需要做三件事。
将纯文本密码传递给 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;
}