我已经创建了一个没有哈希的简单登录,以便更容易理解,但我的auth总是抛出错误信息,我已经搜索了解决方案,但仍然有相同的结果。
这是我的cotroller。
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\User;
//Class needed for login and Logout logic
use Illuminate\Foundation\Auth\AuthenticatesUsers;
//Auth facade
use Auth;
class AuthController extends Controller
{
public function __construct()
{
$this->middleware('guest', ['except' => ['auth']]);
}
public function auth()
{
if (auth()->check())
{
return redirect()->userDash();
}
else
{
if (auth()->attempt([
'email' => request('email'),
'password' => request('password')
]))
{
return redirect()->userDash();
}
else
{
return back()->withErrors([
'message' => 'Please Check Your Credentials !'
]);
}
}
}
这是路线
Route::POST('/login', 'AuthController@auth');
这是我的数据库
这是我调试输入电子邮件和密码时的结果
我认为一切都是正确的,如果登录方法的代码错误,可能需要进行一些修正。谢谢。
答案 0 :(得分:2)
您必须使用bcrypt()
或Hash::make()
方法加密密码,并在登录控制器中使用Illuminate\Support\Facades\Auth;
。
更多details
答案 1 :(得分:2)
Laravel使用bcrypt()方法加密密码。注册用户时需要使用bcrypt方法。喜欢:bcrypt(request('password'))
答案 2 :(得分:0)
只需在注册方法中添加Hash :: make方法,它就可以了,谢谢!