laravel - 为什么我在 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 正在寻找一个id
我的桌子没有的列,而是它有一个增量UserID
,所以我把它改成它id
并且它工作了!基本上没有错误,我试着尽可能多地思考,甚至尝试制作一个新项目,看看我现在的项目是否有问题。
推荐阅读
- regex - Google RE2 Regex 转义句点和下划线错误
- nestjs - Nestjs - 控制器中定义的路由相互覆盖
- hive - 大表的 Hive 分区
- excel - 使用vba从路径导入图片
- docker - 更新后 Docker 守护进程无法启动
- bash - 在bash中将输出从日期文本更改为可用格式
- sql - MS Access:将带有组合框的过滤拆分表单转换为报告
- firebase - StreamBuilder 中的 Where 子句 Google Cloud Firestore
- arrays - Lisp 为什么我的对象是同一个实例?
- scala - Scala-Groupby Array[(String, Array[String])] 按字符串