【发布时间】:2019-02-20 01:37:32
【问题描述】:
首先对不起我的英语不好。
我是 laravel 的新手。我最近在 laravel 中通过命令 make:auth 内置的身份验证/登录系统遇到了一些问题。
注册过程正常,之后它会自动让我登录。但是当我退出并尝试重新登录时,我收到了这个错误:
这些凭据与我们的记录不符。
我不知道出了什么问题!但我试图在谷歌堆栈溢出等上搜索错误。我找到的解决方案是这个。 These credentials do not match our records, laravel 5.2 但它也没有用。
这是我的代码。
Http/Auth/LoginController.php
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
class LoginController extends Controller
{
use AuthenticatesUsers;
protected $redirectTo = '/home';
public function __construct()
{
$this->middleware('guest')->except('logout');
}
}
这是模型
用户.php
<?php
namespace App;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
use Notifiable;
protected $fillable = [
'user_name', 'email','user_password','user_created_by',
];
protected $hidden = [
'user_password', 'remember_token',
];
protected $primaryKey = 'user_id';
public function setPasswordAttribute($password)
{
$this->attributes['password'] = bcrypt($password);
}
}
这是视图
Views/auth/login.blade.php
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row">
<div class="col-md-8 col-md-offset-2">
<div class="panel panel-default">
<div class="panel-heading">Login</div>
<div class="panel-body">
<form class="form-horizontal" method="POST" action="{{ route('login') }}">
{{ csrf_field() }}
<div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}">
<label for="email" class="col-md-4 control-label">E-Mail Address</label>
<div class="col-md-6">
<input id="email" type="email" class="form-control" name="email" value="{{ old('email') }}" required autofocus>
@if ($errors->has('email'))
<span class="help-block">
<strong>{{ $errors->first('email') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}">
<label for="password" class="col-md-4 control-label">Password</label>
<div class="col-md-6">
<input id="password" type="password" class="form-control" name="password" required>
@if ($errors->has('password'))
<span class="help-block">
<strong>{{ $errors->first('password') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-group">
<div class="col-md-6 col-md-offset-4">
<div class="checkbox">
<label>
<input type="checkbox" name="remember" {{ old('remember') ? 'checked' : '' }}> Remember Me
</label>
</div>
</div>
</div>
<div class="form-group">
<div class="col-md-8 col-md-offset-4">
<button type="submit" class="btn btn-primary">
Login
</button>
<a class="btn btn-link" href="{{ route('password.request') }}">
Forgot Your Password?
</a>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
@endsection
这是用户表
【问题讨论】:
-
只是为了确定,您的浏览器是否没有使用错误的密码自动完成您的登录表单?您可以通过打印 dd(Hash::make($request->password)); 来尝试查看您的密码是否与数据库中的密码相同;
-
您是否使用用户名登录?默认情况下,Laravel 将使用电子邮件。
-
Perrykipkerrie 我把这段代码放在哪里 dd(Hash::make($request->password));在我的文件中。
-
ExCluSiv3 我使用电子邮件登录。
标签: php laravel laravel-5 laravel-5.2 laravel-5.1