我创建了一个名为ADMIN_USER的新表,其中包含USERNAME和PASSWORD字段进行身份验证,但是当我尝试执行登录时,Hash :: check按预期返回true但Auth :: try返回false。
然后我试着在Hash :: check或Auth :: attempt之前记住登录用户,php回复时出错:调用未定义函数App \ Http \ Controllers \ Auth \ loginUsingId()
Auth:在Hash :: check下登录不记得任何内容。
这是我在LoginController中的身份验证方法:
public function authenticate(Request $request)
{
$data = $request->all();
$user = new User();
$user = $user->where('USERNAME' , $data['inputUsername'])->first();
Log::info($user->PASSWORD);
Log::info($data['inputPassword']);
Auth:loginUsingId($user->id);
/*
if(Auth::attempt(array('USERNAME' => $data['inputUsername'], 'PASSWORD' => $data['inputPassword']))){
return redirect($this->home);
}else{
return redirect($this->index);
}
*/
if(Hash::check($data['inputPassword'], $user->PASSWORD)){
Auth::loginUsingId($user->id);
return redirect($this->home);
}else{
return redirect($this->index);
}
}
答案 0 :(得分:0)
Laravel预先配置了用户和auth表,用于存储会话信息,用户,盐渍密码等,因此无需创建自己的表。您可以在documentation。
中详细了解相关信息除非您修改身份验证类,否则Laravel配置不知道如何与ADMIN_USERS通信。
查看应用程序的数据库/迁移文件夹,你应该找到一个timestamp_create_users_table.php文件,其中包含一个迁移,用于创建一个包含id,name,email,password,token和timestamps的users表。
如果您没有看到,请运行:
php artisan make:auth
迁移文件夹中有迁移文件后,就可以运行了。
php artisan migrate
一旦运行,请检查您的数据库,您应该看到一个用户表。我很确定这会解决您的身份验证问题。
我建议您通过laracasts上的一些免费课程。它应该可以帮助您快速提速。
希望这会有所帮助。
答案 1 :(得分:-1)
我通过在数据库中将PASSWORD更改为密码和ID来解决我的问题。