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:在用户登录/注销和注册后显示会话闪烁消息