Laravel 与拉威尔一起创作

Laravel 与拉威尔一起创作,laravel,Laravel,我不知道为什么拉威尔的作者对我不起作用。。我已经尝试了所有功能,但仍然不起作用,我使用以下代码登录: $user = User::where('rut', $request->rut) ->where('password', md5($request->password)) ->first(); $employee = Employee::where('id_user', $user-

我不知道为什么拉威尔的作者对我不起作用。。我已经尝试了所有功能,但仍然不起作用,我使用以下代码登录:

   $user = User::where('rut', $request->rut)
                  ->where('password', md5($request->password))
                  ->first();

    $employee = Employee::where('id_user', $user->id_user)
                  ->first();

    $permissions = User_Type_Permission::where('id_user_type', $user->id_user_type)->pluck('id_permission')->toArray();

    $request->session()->put('id_user_type', $user->id_user_type);

    $request->session()->put('id_branch_office', $employee->branch_office);

    $request->session()->put($permissions);

    if(Auth::login($user))
    {
        echo 1;
        die();
        return redirect('/account');
    }
    else
    {
        echo 2;
        die();
        return redirect('/login');
    }
它每次返回“2”,并且用户不是空的,它带有来自数据库的值

我也曾尝试过:

   $user = User::where('rut', $request->rut)
                  ->where('password', md5($request->password))
                  ->first();

    $employee = Employee::where('id_user', $user->id_user)
                  ->first();

    $permissions = User_Type_Permission::where('id_user_type', $user->id_user_type)->pluck('id_permission')->toArray();

    $request->session()->put('id_user_type', $user->id_user_type);

    $request->session()->put('id_branch_office', $employee->branch_office);

    $request->session()->put($permissions);

    $credentials = [
    'rut' => $user->rut,
    'password' => md5($request->password),
];

    if(Auth::attempt($credentials))
    {
        echo 1;
        die();
        return redirect('/account');
    }
    else
    {
        echo 2;
        die();
        return redirect('/login');
    }
它也返回false,登录信息是正确的,但是Auth根本不起作用,它会是什么


谢谢

您应该删除md5。。如果您使用bcrypt存储哈希密码。。 Auth::trument()自动检查请求中的纯文本密码和数据库中的哈希值。 所以代码应该是

 $credentials = [
    'rut' => $user->rut,
    'password' =>$request->password,
];

    if(Auth::attempt($credentials))
    {
        echo 1;
        die();
        return redirect('/account');
    }else{return redirect('/login')}
并将您在顶部编写的所有代码置于真实状态。。 你写的东西不对。。 如果你能做我想要的。。 不放代码,然后检查是否已验证! 我希望这与你的工作!
祝你好运

您是否在使用Laravel的内置寄存器控制器?是否添加了自定义注册方法?您是否使用
md5
存储密码?否,因为它是内部网,所以我不需要人员注册。。。问题是,它以前工作过,现在停止工作了,非常奇怪,我尝试了所有,但什么都没有发生@CésarEscudero,是的,密码是md5…我检查了密码或选择,如果它是空的,不,它来自数据库的数据…在这里使用
'name'=>$user->name,
原因身份验证和尝试将工作名称和密码您使用的是什么版本的Laravel?