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'))
我已经创建了一个没有散列的简单登录以使其更容易理解,但我的身份验证总是抛出错误消息,我已经搜索了解决方案但仍然得到相同的结果。
这是我的控制器。
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'))