为什么登录Hash :: check时始终为false或null?
这是我的套准控制器的一部分。我将密码保存在一个名为“ password”的表中,该表使用以下方法进行哈希处理]
.... $user = new Hause_users(); $user->username = request('username'); $user->Email = request('email'); $user->password = Hash::make(request('password')); $user->First_Last_Name = request('first_last_name'); $user->save();
以下是我使用Hash :: check方法的登录控制器,在此我检查当前用户,在我的数据库中命名为Hause_users的数据库中的哈希密码,我通过LogIn表单获取字符串输入密码,然后尝试将其与Hash进行匹配: :校验。在这种情况下,通行证必须为123123。
问题是它总是返回“ Bye”。
我在这里做错了什么?
<?php
namespace App\Http\Controllers\userController;
use App\Model\Hause_users;
use App\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use Illuminate\Routing\Controller;
use Illuminate\Support\Facades\Response;
class loginController extends Controller
{
/**
* Handle an authentication attempt.
*
* @param \Illuminate\Http\Request $request
*
* @return Response
*/
public function authLogin(Request $request)
{
$data = Hause_users::where('username', '=', request('username'))->first();
$password = ($data['password']);
if ( Hash::check('password' ,$password)){
return 'welcome';
}else{
return 'Bye';
}
}
}
为什么登录Hash :: check时始终为false或null?这是我的注册控制器的一部分。我将密码保存在一个名为“ password”的表中,该表使用以下方法进行哈希处理.....
您应该将用户输入的密码传递给第一个参数,并将散列的密码从DB传递给Hash::check
的第二个参数,如下所示: