你好,朋友们,我使用的是用户表列,比如(用户名,电子邮件,密码),如果我更改为列名,因为小写字母是好的。若要将列名更改为大写不起作用,请给我任何建议。
这是我的控制器
public function postLogin(Request $request)
{
$this->validate($request, array('username' => 'required', 'password' => 'required'));
$credentials = $request->only('USERNAME', 'PASSWORD');
if (Auth::validate($credentials))
{
$user = Auth::getLastAttempted();
Auth::login($user, $request->has('remember'));
return redirect()->intended($this->redirectPath());
}
return redirect($this->loginPath())
->withInput($request->only('USERNAME', 'remember'))
->withErrors([
'username' => $this->getFailedLoginMessage(),
]);
}发布于 2016-07-29 06:48:18
您使用Laravel (EloquentUserProvider和DatabaseUserProvider)获得的两个用户提供程序都希望密码存储在小写密码字段中。
为了使身份验证与密码字段一起工作,您需要做两件事。
首先,让提供者知道用户的密码存储在密码列中。您可以通过在您的getAuthPassword用户模型中实现方法来做到这一点:
public function getAuthPassword() {
return $this->PASSWORD;
}其次,密码需要在传递给Auth::validate().的凭据数组中使用密码键存储。您需要更改用户输入密码到密码或手动创建凭据数组的表单字段的名称:
$credentials = [
'USERNAME' => $request->get('USERNAME'),
'password' => $request->get('PASSWORD'),
];https://stackoverflow.com/questions/38652092
复制相似问题