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

Laravel管理员与用户多登录跳转异常问题求助

Laravel多登录认证跳转异常排查方案

问题描述

在Laravel中实现管理员与用户多登录认证,预期usertype为admin的用户登录后跳转至/dashboard,但目前所有用户登录后均跳转至/,已在数据库添加usertype字段,需排查问题。

相关代码(已格式化)

AuthController.php 的 authenticate 方法

public function authenticate(Request $request)
{
    $credentials = $request->all();

    $request->validate([
        'email' => 'required|email:dns',
        'password' => 'required|min:8|max:16'
    ]);

    if (Auth::attempt($credentials)) {
        $user = Auth()->user();
        $usertype = Auth()->user()->usertype;

        Auth::login($user);

        if ($usertype == 'user') {
            return redirect('/');
        } else if($usertype == 'admin') {
            return redirect('/dashboard');
        }
    }
    return back()->with('loginError', 'Login Failed');
}

登录路由

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

用户迁移文件

public function up(): void
{
    Schema::create('users', function (Blueprint $table) {
        $table->id();
        $table->string('name');
        $table->string('surname');
        $table->char('nik');
        $table->string('email')->unique();
        $table->string('password');
        $table->string('conpass');
        $table->string('usertype')->default('user');
        $table->rememberToken();
        $table->timestamps();
    });
}

排查与解决步骤

  • 检查数据库usertype字段值:直接查看users表中管理员用户的usertype,确保值是小写的admin,无大小写错误(如Admin)或额外空格。若值不符,直接修改数据库或调整用户注册/更新逻辑。
  • 移除冗余的Auth::login($user):Auth::attempt($credentials)成功后已自动完成登录,重复调用Auth::login($user)可能导致用户状态异常,删除该行代码即可。
  • 调试usertype实际值:在判断逻辑前添加dd($usertype);,查看当前登录用户的usertype是否符合预期,确认判断逻辑是否生效。
  • 检查路由与中间件:确保/dashboard路由存在且使用auth中间件(而非guest),同时检查RedirectIfAuthenticated中间件,避免其强制跳转覆盖你的自定义逻辑。
  • 更新User模型$fillable:在User模型的$fillable数组中加入usertype,确保Eloquent能正确读取该字段:
    protected $fillable = [
        'name', 'surname', 'nik', 'email', 'password', 'usertype'
    ];
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 05:22:41