簡體   English   中英

登錄 function laravel 不總是將我重定向到主頁

[英]login function laravel not redirect me to home page always

class userController extends Controller
{
    //
    function login(Request $req)
    {
        $user = User::Where(['email'=>$req->email])->first();
        if($user || Hash::check($req->password, $user->$password))
        {
            return 'Username or password not matched';
        }
        else {
            $req->session('user', $user); 
            return redirect('/');
        }

    }
}

對於手動身份驗證, attempt()可能是比Hash::check()更好的做法

use Auth;

class userController extends Controller
{
    function login(Request $req)
    {
        $credentials = $req->only('email', 'password');
        if (Auth::attempt($credentials)) {
            $req->session()->regenerate();
            return redirect()->intended('/');
        }
        else {
            return 'Username or password not matched';
        }
    }
}

閱讀手動驗證用戶以獲取更多詳細信息

我刪除$password並用password替換它,並使代碼如下:

function login(Request $req)
{
    $user= User::where(['email' => $req->email])->first();
    if (!$user || !Hash::check($req->password, $user->password)) {
        return "Username or password is not matched";
    } else {
        $req->session()->put('user',$user);
        return redirect('/');
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM