Почему я не могу перенаправить на home после входа в laravel 8?

#laravel

#laravel

Вопрос:

У меня проблемы с laravel 8, я использую аутентификацию laravel по умолчанию, но, похоже, после входа в систему я не могу перенаправить на домашнюю страницу. Я только что добавил это в LoginController public function username() { return 'username'; } Вот моя таблица protected $table = 'TO_USER_LOGIN'; , я также добавил заполняемые файлы.

мой HomeController в порядке, просто он не позволяет мне перенаправлять на домашнюю страницу. protected $redirectTo = RouteServiceProvider::HOME; Также имеет значение по умолчанию '/home'

LoginView

 <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>
 

LoginController

 <?php

namespace AppHttpControllersAuth;

use AppHttpControllersController;
use AppProvidersRouteServiceProvider;
use IlluminateFoundationAuthAuthenticatesUsers;
use IlluminateSupportFacadesAuth;
use IlluminateSupportFacadesRedirect;

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('/');
    }
}
 

Комментарии:

1. есть ли какая-либо ошибка? или каково состояние после входа в систему? вы только сказали, что не можете, но ЧТО происходит на самом деле.

2. @Psycho Да, я забыл это написать, не было никакой ошибки, даже когда я ее проверял. После отправки он просто перенаправляет меня на страницу входа в систему снова.

3. может быть, ваш логин не работает, и вы не показали никакого сообщения об ошибке? Пожалуйста, добавьте свой контроллер входа в свой вопрос

4. @Psycho Я проверяю его снова и снова, он выдает мне код состояния 302, я просто использую аутентификацию Laravels по умолчанию. также добавлен контроллер входа.

Ответ №1:

Я наконец нашел проблему! Это было с моей таблицей все это время, laravel искал столбец id , которого нет в моей таблице, вместо этого он имеет увеличенный UserID , поэтому я изменил его на id , и это сработало! Ошибки не было, поэтому, по сути, я пытался думать как можно больше, даже пытался создать новый проект, просто чтобы посмотреть, есть ли у меня проблемы с моим текущим.