我的Auth :: attempt()每次都返回失败,我使用自己的订户表,我已经改变了config/auth.php中的设置以使用订阅者表。Laravel 5 Auth :: attempt()总是失败
下面是我的LoginController
<?php
namespace App\Http\Controllers;
use App\Http\Requests;
use App\Subscriber;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Input;
class LoginController extends Controller
{
public function login()
{
$email = Input::get('email');
$password = Input::get('password');
// $subscriber = Subscriber::where('email', $email)->first();
// $checked = Hash::check($password, $subscriber->pass);
if (Auth::attempt(['email' => $email, 'pass' => $password]))
{
return 'it workedddd.';
}
else
return 'failed';
}
}
订户模型
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Subscriber extends Model
{
protected $fillable = [
'firstname',
'lastname',
'email',
'pass',
'phone',
'address',
'city',
'state',
'zip'
];
protected $hidden = ['password', 'remember_token'];
}
订户控制器
<?php
namespace App\Http\Controllers;
use App\Subscriber;
use Carbon\Carbon;
use Illuminate\Http\Request;
use App\Http\Requests;
use Validator;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Input;
class SubscribersController extends Controller
{
public function newSubscriber(Request $request) //function to register new subscriber
{
$validator = Validator::make($request->all(), [
'firstname' => 'required',
'lastname' => 'required',
'email' => 'required|email|unique:subscribers,email',
'password' => 'required|min:5',
'address' => 'required',
'city' => 'required',
'state' => 'required',
'zip' => 'required',
'phone' => 'required|unique:subscribers,phone'
]);
if ($validator->fails()) {
return redirect('/register')
->withErrors($validator)
->withInput();
}
$subscriber = new Subscriber();
$subscriber->firstname = Input::get('firstname');
$subscriber->lastname = Input::get('lastname');
$subscriber->email = Input::get('email');
$subscriber->pass = Hash::make(Input::get('password'));
$subscriber->address = Input::get('address');
$subscriber->city = Input::get('city');
$subscriber->state = Input::get('state');
$subscriber->zip = Input::get('zip');
$subscriber->phone = Input::get('phone');
$subscriber->trial_time = 30;
$subscriber->date_signed_up = Carbon::now();
$subscriber->next_bill_date =Carbon::now()->addMonth(1);
$subscriber->account_status = 'trial';
$subscriber->save();
return $subscriber;
}
}
路由
Route::get('/', function() {
return view('home');
});
Route::post('/', '[email protected]');
Route::get('contact', function() {
return view('contact');
});
Route::get('register', function() {
return view('register');
});
Route::post('register', '[email protected]');
Route::get('feedback', function() {
return view('feedback');
});
Route::get('dashboard', array(
'before' => 'auth.basic',
function(){
return view('dashboard.user');
}));
您将密码传递给验证器作为pass并且验证器期望'password'if(Auth :: attempt(['email'=> $ email,'password'=> $ password]))' – futureweb
column in my数据库的密码是通过 –
是的我知道,但输入变量是密码,因为你的保护隐藏 – futureweb