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

Laravel 10中间件中Auth::check返回false问题求助

Laravel 10 中间件内 Auth::check() 返回 false 问题求助

已查阅25个StackOverflow问题、解决方案及相关博客,还观看多个Youtube视频,仍未解决Laravel 10项目中中间件内Auth::guard('Registrationform')->check()返回false的问题,多次尝试无果,恳请帮助。以下是相关代码及配置:

Auth配置文件

'defaults' => [
    'guard' => 'web',
    // 'guard' => 'Registrationform',
    'passwords' => 'users'
],

'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],
    'Registrationform' => [
        // 'redirectTo'=>'index',
        'driver' => 'session',
        'provider' => 'Registrationforms',
    ],
],
'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\Models\User::class,
    ],
    'Registrationforms' => [
        'driver' => 'eloquent',
        'model' => App\Models\Registrationform::class,
    ],'

控制器文件

public function login(){
    // if(Auth::guard('Registrationform')->user()){
    //     return redirect()->route('dashboard');
    // }
    return view('login');
}

public function authenticate(Request $request):RedirectResponse{
    $request->validate([
        'email' => 'required',
        'password' => 'required',
    ]);

    $credentials = $request->only('email', 'password');

    if(Auth::guard('Registrationform')->attempt($credentials)){
        $request->session()->regenerate();
        $request->session()->put('user',$credentials['email']);
        return redirect()->intended('index');
    }

    return redirect()->route("login")->withSuccess('Oppes! You have entered invalid credentials'); 
}

public function index():View {
    dd(Auth::guard('Registrationform')->check());
}

中间件文件

public function handle(Request $request, Closure $next): Response{
    dd(\Auth::guard('Registrationform')->check());
}

模型文件

class RegistrationForm extends Authenticatable{
    use HasApiTokens, HasFactory, Notifiable;
    protected $table = 'registrationforms';
    protected $guard = 'Registrationform';
    protected $primarykey = 'User_ID';
    protected $fillable = 
    ['First_Name','Last_Name','email','email_confirmation','password',
    'password_confirmation','Gender','birthday_day','birthday_month',
    'birthday_month','birthday_year','UserName'];
     // public $timestamps = false;

     protected $hidden = [
        'password','password_confirmation'
     ];
}

路由配置

Route::post('/register', [Registrationcontroller::class,'store']);
Route::post('/authenticate', [Registrationcontroller::class, 'authenticate']);
Route::middleware(registrationform::class)->group(function(){
    Route::get('/login',[Registrationcontroller::class, 'login'])->name('login');
    Route::get('/register', [Registrationcontroller::class,'register'])->name('register');
    Route::get('/index', [Registrationcontroller::class,'index'])->name('index');
    Route::get('/dashboard', [Registrationcontroller::class,'dashboard'])->name('dashboard');
});
Route::post("/logout",[Registrationcontroller::class,'logout'])->name("logout");

Kernel配置

protected $middleware = [
    // \App\Http\Middleware\TrustHosts::class,
    \App\Http\Middleware\TrustProxies::class,
    \Illuminate\Http\Middleware\HandleCors::class,
    \App\Http\Middleware\PreventRequestsDuringMaintenance::class,
    \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
    \App\Http\Middleware\TrimStrings::class,
    \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
    \Illuminate\Session\Middleware\StartSession::class,
];

/**
* The application's route middleware groups.
*
* @var array<string, array<int, class-string|string>>
*/
protected $middlewareGroups = [
    'web' => [
        \App\Http\Middleware\EncryptCookies::class,
        \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,

        \Illuminate\View\Middleware\ShareErrorsFromSession::class,
        \App\Http\Middleware\VerifyCsrfToken::class,
        \Illuminate\Routing\Middleware\SubstituteBindings::class,
    ],

    'api' => [
        // \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
        \Illuminate\Routing\Middleware\ThrottleRequests::class.':api',
        \Illuminate\Routing\Middleware\SubstituteBindings::class,
    ],
];

/**
* The application's middleware aliases.
*
* Aliases may be used instead of class names to conveniently assign middleware 
* to routes and groups.
*
* @var array<string, class-string|string>
*/
protected $middlewareAliases = [
    'auth' => \App\Http\Middleware\Authenticate::class,
    'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
    'auth.session' => \Illuminate\Session\Middleware\AuthenticateSession::class,
    'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
    'can' => \Illuminate\Auth\Middleware\Authorize::class,
    'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
    'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class,
    'signed' => \App\Http\Middleware\ValidateSignature::class,
    'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
    'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
    'Registrationform' => \App\Http\Middleware\registrationform::class,
];

注意事项

  • 已将StartSession::class从middlewareGroups的web组移至全局middleware中;
  • 使用use Auth替代Illuminate\Support\Facades\Auth;
  • 可通过AnyDesk协助排查问题。

内容的提问来源于stack exchange,提问作者Abdul Aziz

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 11:19:49