首页 > 解决方案 > 为什么我在 laravel 8 登录后无法重定向到家?

问题描述

我在使用 laravel 8 时遇到问题,我使用的是默认的 laravel 身份验证,但似乎登录后我无法重定向到主页。我刚刚将它添加到 LoginControllerpublic function username() { return 'username'; } 这是我的表protected $table = 'TO_USER_LOGIN';,我还添加了可填充项。

我的 HomeController 很好,只是它不会让我重定向到主页。protected $redirectTo = RouteServiceProvider::HOME;也有一个默认值'/home'

登录视图

<div class="container">
<!-- Outer Row -->
<div class="row justify-content-center">
    <div class="col-xl-10 col-lg-12 col-md-9 col-sm-12">
        <div class="card o-hidden border-0 shadow-lg my-5">
            <div class="card-body p-0">
                <!-- Nested Row within Card Body -->
                <div class="row">
                    <div class="col-lg-6 d-none d-lg-block bg-login-image"></div>
                    <div class="col-lg-6">
                        <div class="p-5">
                            <div class="text-center">
                                <h1 class="h4 text-gray-900 mb-4">TRAVEL ORDER SYSTEM</h1>
                            </div>
                            <form method="POST" class="user" action="{{ route('login') }}">
                                @csrf
                                <div class="form-group">
                                    <input id="username" type="text" placeholder="Username" class="form-control form-control-user @error('username') is-invalid @enderror" name="username" value="{{ old('username') }}" required autocomplete="off" autofocus>

                                    @error('username')
                                        <span class="invalid-feedback" role="alert">
                                            <strong>{{ $message }}</strong>
                                        </span>
                                    @enderror
                                </div>
                                <div class="form-group">
                                    <input id="password" type="password" placeholder="Password" class="form-control form-control-user @error('password') is-invalid @enderror" name="password" required autocomplete="off">

                                    @error('password')
                                        <span class="invalid-feedback" role="alert">
                                            <strong>{{ $message }}</strong>
                                        </span>
                                    @enderror
                                </div>
                                <button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button>
                            </form>
                            <hr>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

登录控制器

<?php

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Redirect;

class LoginController extends Controller
{
    /*
    |--------------------------------------------------------------------------
    | Login Controller
    |--------------------------------------------------------------------------
    |
    | This controller handles authenticating users for the application and
    | redirecting them to your home screen. The controller uses a trait
    | to conveniently provide its functionality to your applications.
    |
    */

    use AuthenticatesUsers;

    /**
     * Where to redirect users after login.
     *
     * @var string
     */
    //protected $redirectTo = RouteServiceProvider::HOME;

    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function redirectTo(){
        Redirect::route('home');
    }
    public function username()
    {
        return 'username';
    }
    public function __construct()
    {
        $this->middleware('guest',['except' => ['logout', 'userLogout']]);
    }
    public function userLogout(){
        Auth::guard('web')->logout();
        return redirect('/');
    }
}

标签: laravel

解决方案


我终于找到了问题!它一直在我的桌子上,laravel 正在寻找一个id我的桌子没有的列,而是它有一个增量UserID,所以我把它改成它id并且它工作了!基本上没有错误,我试着尽可能多地思考,甚至​​尝试制作一个新项目,看看我现在的项目是否有问题。


推荐阅读