【发布时间】:2017-12-16 07:52:23
【问题描述】:
美好的一天。我正在尝试使用 laravel auth 。但我有点困惑。
我已经登录并注册。
这是我的登录过程
public function index(){
if(!Auth::check()){
return view::make("Login");
}else{
dd(Auth::user());
}
}
function loginproses(Request $request){
extract(Maincontroller::populateform());
$a = Loginmodel::where('username',$username)
->where('password',md5($password))
->first();
if($a === NULL){
return redirect('/')->with('status', 'Username atau Password salah');
}else{
$userdata = array(
'username' =>$username
);
if(Auth::attempt($userdata)){
return redirect('/');
}
}
}
我使用Userlogin 作为我的桌子,所以我改变了这个
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Loginmodel::class,
'table' => 'Userlogin'
],
但是登录后出现问题。我收到此错误
参数 1 传递给 Illuminate\Auth\EloquentUserProvider::validateCredentials() 必须是 Illuminate\Contracts\Auth\Authenticatable 的实例, App\Loginmodel 给定,调用 D:\xampp\htdocs\sitestarter\vendor\laravel\framework\src\Illuminate\Auth\SessionGuard.php 在第 380 行并定义
我该如何解决?
当使用谷歌搜索how to login in laravel 时,我总是看到Laravel auth。那我真的需要使用Laravel Auth 吗?真的需要使用身份验证控制器吗?
【问题讨论】:
-
MD5 出于安全目的被认为是损坏的,不足以进行密码散列。请改用
password_hash()和password_verify()。如果您使用的是 5.5 之前的 PHP 版本,则可以使用 this compatibility pack。