【发布时间】:2016-10-21 01:16:08
【问题描述】:
我正在尝试使用 laravel 登录,但是当我使用 Auth :: Attempt ........ 时总是返回 false。我已经检查了几次代码,但仍然找不到错误。可以指导我吗?谢谢:)
型号:
<?php
namespace App\Models;
use Illuminate\Auth\Authenticatable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Auth\Passwords\CanResetPassword;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
class Users extends Model implements AuthenticatableContract, CanResetPasswordContract
{
use Authenticatable, CanResetPassword;
protected $table = 'users';
}
控制器:
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Auth;
use Illuminate\Http\Request;
use Validator;
use App\Http\Controllers\Controller;
use App\Http\Requests;
use App\Models\Users as user;
class UserController extends Controller
{
public function PreLogin(Request $request){
$validator = Validator::make($request->all(),[
'EmailLogin' => 'require|email',
'PasswordLogin' => 'require|min:6'
]);
if($validator->fails()){
return response()->json([
'success' => false,
'error' => $validator->errors()->toArray()
]);
}else{
return $this->Login($request);
}
}
private function Login(Request $request){
if(Auth::attempt(['email' => $request->EmailLogin, 'password' => $request->PasswordLogin])){
return response()->json([
'success' => true
]);
}else{
return response()->json([
'success' => false,
'error' => 'not login'
]);
}
}
}
auth.php:
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Models\Users::class,
],
// 'users' => [
// 'driver' => 'database',
// 'table' => 'users',
// ],
],
【问题讨论】:
-
用户密码是否在数据库中散列?
-
您可以发布错误日志。
-
如何创建用户?
标签: php laravel authentication laravel-5.2