Laravel 在会话更改后显示 404

Posted

技术标签:

【中文标题】Laravel 在会话更改后显示 404【英文标题】:Laravel shows 404 after changing in sessions 【发布时间】:2022-01-12 21:43:58 【问题描述】:

我遇到了一个奇怪的问题。我强迫用户渴望并在会话中设置一些信息。之后,我看到 404。日志中没有任何内容,我不确定发生了什么

public function index($userId)

    $users = UserRelation::where('relation_user_id', Auth::user()->id)->get()->pluck('relation_user_id')->toArray();

    if (in_array($userId, $users)) 
        if (empty(Session::get('original_user'))) 
            Session::put('original_user', Auth::user());
            Auth::loginUsingId($userId);
            Session::put('is_logged_in_as_delegate', true);
            return Inertia::location(route('index'));

         else 
            dd('in here');
        
    

    abort(403);

【问题讨论】:

如果你评论这一行会发生什么:return Inertia::location(route('index'));? 仍然显示 404,但这在没有会话更改的情况下有效。重定向没有错误 这不是您的问题的答案,只是一个 FYI :) 您可以使用带有查询生成器/Eloquent 的 exists() 方法来简化您的检查:$exists = UserRelation::where('relation_user_id', Auth::id())->exists() 【参考方案1】:

Auth::loginUsingId($userId);之前尝试Auth::logout();

【讨论】:

以上是关于Laravel 在会话更改后显示 404的主要内容,如果未能解决你的问题,请参考以下文章

是否可以使用 API 令牌在 laravel 中进行用户模拟?

Laravel - 无法在 Exception Handler.php 文件的渲染功能中访问会话

Laravel AJAX Request Post 错误代码:使用 laravel auth 登录时会话 ID 更改后的 419

Laravel 5.2:在用户登录/注销和注册后显示会话闪烁消息

使用带有 Laravel Vue 应用程序的 vue-router,如果我在登录后转到基本 URL,它会显示 404

更改参数顺序的 Laravel 路由中出现 404 错误