php 验证路由问题Laravel仅在Ubuntu上

svmlkihl  于 2023-02-03  发布在  PHP
关注(0)|答案(1)|浏览(99)

我在Windows和Ubuntu上运行Laravel项目,在Ubuntu上,身份验证不起作用,当我输入正确的用户名和密码时,我被定向到home页面(名称为login的路由),但在Windows上运行良好,被定向到dashboard页面。
LoginController.php

class LoginController extends Controller
{
    public function index(){
        return view('login');
    }

    public function authenticate(Request $request)
    {
        $credentials = $request->validate([
            'username' => 'required',
            'password' => 'required',
        ]);
 
        
        if (Auth::attempt($credentials)) {
            $request->session()->regenerate();
            return redirect()->intended('/dashboard');
        }
 
        return back()->withErrors([
            'username' => 'The provided credentials do not match our records.',
            'password' => 'The provided credentials do not match our records.',
        ]);
    }

}

web.php

Route::get('/home', function () {
    return view('home');
})->name('login');

Route::get('/login', [LoginController::class, 'index'])->middleware('guest');
Route::post('/login', [LoginController::class, 'authenticate']);

Route::get('/dashboard', [DashboardController::class, 'index'])->name('dashboard')->middleware('auth');

在Windows中我使用XAMPP(PHP 8.2.1)和Laravel 9.42。在Ubuntu中我使用PHP 8.1.7和Laravel 9.42没有XAMPP。如何在Ubuntu上修复这个问题?
https://laravel.com/docs/9.x/authentication#authenticating-users

kq0g1dla

kq0g1dla1#

我认为有任何缓存问题,只需运行以下命令并检查它。

Php artisan  config:cache
Php artisan cache:clear

相关问题