首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >登录没有工作,Laravel 5

登录没有工作,Laravel 5
EN

Stack Overflow用户
提问于 2016-07-29 06:40:54
回答 1查看 100关注 0票数 0

你好,朋友们,我使用的是用户表列,比如(用户名,电子邮件,密码),如果我更改为列名,因为小写字母是好的。若要将列名更改为大写不起作用,请给我任何建议。

这是我的控制器

代码语言:javascript
复制
  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(),
    ]);

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-29 06:48:18

您使用Laravel (EloquentUserProviderDatabaseUserProvider)获得的两个用户提供程序都希望密码存储在小写密码字段中。

为了使身份验证与密码字段一起工作,您需要做两件事。

首先,让提供者知道用户的密码存储在密码列中。您可以通过在您的getAuthPassword用户模型中实现方法来做到这一点:

代码语言:javascript
复制
public function getAuthPassword() {
  return $this->PASSWORD;
}

其次,密码需要在传递给Auth::validate().的凭据数组中使用密码键存储。您需要更改用户输入密码到密码或手动创建凭据数组的表单字段的名称:

代码语言:javascript
复制
$credentials = [
  'USERNAME' => $request->get('USERNAME'),
  'password' => $request->get('PASSWORD'),
];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38652092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档