You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel部署后登录页面刷新无跳转,本地正常问题求助

Laravel部署后登录失效问题排查

我的Laravel项目本地运行完全正常,但部署到托管环境后出现异常:访问mysite.com进入登录页面,提交表单后页面仅刷新,无法完成登录;但mysite.com/register可以正常注册新用户,数据能正常写入Users表。

我创建了两个测试路由来排查问题:

Route::get('/test', function(){
  return User::All();
  // 返回了数据库中所有用户,说明数据库连接正常
});
Route::get('/test', function(){
  $user = Auth::user();
  print_r($user);
  // 返回NULL
});

测试结果显示数据库连接正常,但Auth::user()始终返回NULL。我清楚Auth::login会将已认证用户写入session,同时在用户表中填充remember_token字段——数据库里该字段已经有值,但session中没有相关数据。

更新:
我逐步用本地正常运行的旧版本替换项目文件,最终定位到问题出在resource/views/auth/login.blade.php文件:我把默认的email输入字段改成了username。推测系统可能在某处验证时仍期望接收email字段,但为什么本地版本能正常运行?

相关代码

LoginController代码

<?php

namespace App\Http\Controllers\Auth;

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

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.
    |
    */

    protected $redirectTo = '/user';

    use AuthenticatesUsers;

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

    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('guest')->except('logout');
    }

    protected function redirectTo() 
    {
        if (Auth::user()->role === User::IS_ADMIN && Auth::user()->user_verify === 1) {
            return '/admin';
        }elseif(Auth::user()->role === User::IS_USER && Auth::user()->user_verify === 1 || Auth::user()->role === User::IS_USER && Auth::user()->user_verify === 0){
            return '/user';
        }
    }
}

路由代码

Route::get('/', function () {
  if(Auth::check()){
    $user = Auth::user();
    if($user->role == 1 && $user->user_verify == 1){
      return redirect('/admin');
    }
    elseif($user->role == 0  && $user->user_verify == 1 
    || $user->role == 0  && $user->user_verify == NULL
    || $user->role == 0  && $user->user_verify == 2){
      return redirect('/user');
    }
  }else{
    return view('auth.login');
  }
});

内容的提问来源于stack exchange,提问作者Владимир Солёный

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 13:51:30