Laravel 5.5 中的 auth()->attempt() 无法正常工作

auth()->attempt() in Laravel 5.5 did'nt work properly

我已经创建了一个没有散列的简单登录以使其更容易理解,但我的身份验证总是抛出错误消息,我已经搜索了解决方案但仍然得到相同的结果。

这是我的控制器。

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');

这是我的数据库

这是我调试输入邮箱和密码时的结果

我认为一切正常,如果登录方法的代码有误,可能需要更正。谢谢。

只需在您的注册方法中添加Hash::make方法即可,谢谢!

您必须使用 bcrypt()Hash::make() 方法加密密码,并在您的登录控制器中使用 Illuminate\Support\Facades\Auth;。 更多 details

Laravel 使用 bcrypt() 方法加密密码。注册用户时需要使用 bcrypt 方法。喜欢:bcrypt(request('password'))